Npm устанавливает все модули в/usr/local/lib/node_modules/
У меня есть node.js 0.8.14, установленный на Ubuntu 12.10. Я создал каталог в своем домашнем каталоге с подкаталогом node_modules
. Я хочу установить некоторые локальные модули node, но запустив
npm install myModule
в этом каталоге устанавливается этот модуль в /usr/local/lib/node_modules/
(такое же поведение, как установка модуля с флагом -g
В .bashrc
нет пути node.
Любая идея, как я могу установить локальные модули node?
Ответы
Ответ 1
После некоторых дальнейших исследований я нашел решение.
Запуск команды npm config ls
показал, что конфигурация по умолчанию global=false
(вы видите конфигурацию по умолчанию с npm config ls -l
) была перезаписана global=true
в /home/vsdev/.npmrc
и /usr/local/etc/npmrc
.
Возврат к global=false
решил проблему.
Ответ 2
Это нечетно.
- FYI вам не нужно создавать каталог node_modules, npm сделает это для вас
- npm обычно просто устанавливается в текущий каталог. Даже если пакет, который вы устанавливаете, настроен на предпочтение глобальной установки, npm будет устанавливать его локально, если вы явно не передадите параметр
-g
.
- Можете ли вы запустить следующие команды оболочки и подтвердить, что npm действительно реальная npm?
-
which npm
-
alias | grep npm
Ответ 3
npm install load all in node_modules, то это может быть поведение версии 3 http://blog.npmjs.org/post/110924823920/npm-weekly-5 или, как упоминалось в @vsdev, после того, как вы сделаете уверен, что это поведение версии 3, и вы хотите пойти с ним, а затем еще лучше следовать ниже
1- удалите все модули.. в папку node_modules в вашем проекте, затем выполните: npm uninstall *
2- Скажите npm для установки с устаревшим пакетом для этой установки:
npm install --legacy-bundling
"Постоянная" альтернатива:
Задайте конфигурацию npm, чтобы всегда использовать устаревшее связывание...
npm set legacy-bundling = true
.. и выполняйте как обычно:
npm install
* выборки привязки к устаревшему набору займет гораздо больше времени, потому что будет установлено много разных версий одинаковых зависимостей.