Как вы настроили NPM (Manager Unode Package) без доступа root?
-
02-10-2019 - |
Вопрос
Настройка NPM вверх, так как пользователь root reateighforward и Workds. За исключением того, что вам нужно запустить команды NPM как root (не рекомендуется). Поэтому я думал, что попробую настроить его в виде пользователя Non-root.
Согласно документации NPM, пользователь без корня без корневого доступа может настроить NPM by:
- создание а.
.npmrc
файл сroot
,binroot
, а такжеmanroot
указывая на папки, которые принадлежит пользователю. - Затем запустите скрипт установки.
OK. Установка была в порядке.
Но узел не может видеть пакеты, предоставленные NPM.
Так как я могу знать узел о пакетах, предоставленных NPM? (Мне не пришлось ничего делать, когда я ранее установил NPM в качестве корня). Я могу установить require.paths
в узле или установить NODE_PATH
Переменная среды, но к чему?
Спасибо.
Решение
Через небольшое разведка, кажется, вы можете либо:
- Установите свой
NODE_PATH
в любой корневой каталог NPM, или - в то время как в узле, вызвать
require.paths.push('path_to_npm_root')
Другие советы
Это работало для меня:
Делать
~/.node
папкаmkdir ~/.node
Редактировать
~/.npmrc
и добавьте строкуprefix = ~/.node
Отредактируйте свой
~/.profile
или~/.bash_profile
и добавьте эти строкиPATH="$HOME/.node/bin:$PATH" NODE_PATH="$HOME/.node/lib/node_modules:$NODE_PATH"
Теперь я могу сделать такие вещи, как npm -g install http-server
и это будет установлено к ~/.node
без рута. С этим на месте, когда я тогда ввода http-server
, он работает.