Как вы настроили NPM (Manager Unode Package) без доступа root?

StackOverflow https://stackoverflow.com/questions/3718968

  •  02-10-2019
  •  | 
  •  

Вопрос

Настройка NPM вверх, так как пользователь root reateighforward и Workds. За исключением того, что вам нужно запустить команды NPM как root (не рекомендуется). Поэтому я думал, что попробую настроить его в виде пользователя Non-root.

Согласно документации NPM, пользователь без корня без корневого доступа может настроить NPM by:

  1. создание а. .npmrc файл с root, binroot, а также manroot указывая на папки, которые принадлежит пользователю.
  2. Затем запустите скрипт установки.

OK. Установка была в порядке.

Но узел не может видеть пакеты, предоставленные NPM.

Так как я могу знать узел о пакетах, предоставленных NPM? (Мне не пришлось ничего делать, когда я ранее установил NPM в качестве корня). Я могу установить require.paths в узле или установить NODE_PATH Переменная среды, но к чему?

Спасибо.

Это было полезно?

Решение

Через небольшое разведка, кажется, вы можете либо:

  1. Установите свой NODE_PATH в любой корневой каталог NPM, или
  2. в то время как в узле, вызвать require.paths.push('path_to_npm_root')

Другие советы

Это работало для меня:

  1. Делать ~/.node папка

    mkdir ~/.node
    
  2. Редактировать ~/.npmrc и добавьте строку

    prefix = ~/.node
    
  3. Отредактируйте свой ~/.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, он работает.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top