Как мне установить модуль глобально, используя npm? - PullRequest
188 голосов
/ 28 апреля 2011

Я недавно установил Node.js и модуль npm на OSX, и у меня возникла проблема с настройками:

npm install [MODULE] is not installing the node.js module to the default path 
which is /usr/local/lib/node_modules.

Ответы [ 6 ]

332 голосов
/ 29 апреля 2011

Если вы хотите установить модуль npm глобально, обязательно используйте новый флаг -g, например:

npm install forever -g

Общие рекомендации, касающиеся установки модуля npm, поскольку1.0rc (взято из blog.nodejs.org ):

  • Если вы устанавливаете то, что хотите использовать в своей программе, используйте require ('любой'), затем установите его локально в корне вашего проекта.
  • Если вы устанавливаете что-то, что хотите использовать в своей оболочке, в командной строке или что-то в этом роде, установите его глобально , чтобы его двоичные файлы попали в переменную среды PATH.

Я только недавно использовал эти рекомендации, и они довольно плавно пошли вниз.Я навсегда установил глобально (поскольку это инструмент командной строки) и все мои модули приложения локально.

Однако, если вы хотите использовать некоторые модули глобально (например, express или mongodb), примите этот совет (также взятый из blog.nodejs.org ):

Конечно, в некоторых случаях вы хотите сделать и то, и другое.Coffee-script и Express являются хорошими примерами приложений, которые имеют интерфейс командной строки, а также библиотеки.В этих случаях вы можете выполнить одно из следующих действий:

  • Установить его в обоих местах .Серьезно, тебе не хватает места на диске?Это нормально, правда.Это крошечные JavaScript-программы.
  • Установите его глобально, а затем npm link coffee-script или npm link express (если вы на платформе, которая поддерживает символические ссылки.) Затем вынужно только обновить глобальную копию, чтобы обновить и все символические ссылки.

Первый вариант, на мой взгляд, лучший.Просто, понятно, явно.Второе действительно удобно, если вы собираетесь повторно использовать одну и ту же библиотеку в нескольких разных проектах.(Подробнее о ссылке на npm в следующей статье.)

Я не тестировал ни один из этих вариантов, но они кажутся довольно простыми.

8 голосов
/ 19 мая 2013

На Mac я обнаружил, что вывод содержит информацию, которую я искал:

$> npm install -g karma
...
...
> ws@0.4.25 install /usr/local/share/npm/lib/node_modules/karma/node_modules/socket.io/node_modules/socket.io-client/node_modules/ws
> (node-gyp rebuild 2> builderror.log) || (exit 0)
...
$> ls /usr/local/share/npm/bin
karma nf

После добавления /usr/local/share/npm/bin в строку export PATH в моем .bash_profile, его сохранения и source в нем я смог запустить

$> karma --help

нормально.

4 голосов
/ 22 января 2012

Мне нравится использовать файл package.json в корне папки вашего приложения.

Здесь я использую

nvm use v0.6.4

http://pastie.org/3232212

npm install
2 голосов
/ 17 февраля 2013

У меня были проблемы с установкой Express в Ubuntu:

Если по какой-либо причине отсутствует команда NPM, проверьте команду npm с помощью npm help. Если нет, выполните следующие действия - http://arnolog.net/post/8424207595/installing-node-js-npm-express-mongoose-on-ubuntu

Если не работает только команда Express, попробуйте:

sudo npm install -g express

Это заставило все работать так, как я привык к Windows7 и OSX.

Надеюсь, это поможет!

0 голосов
/ 14 августа 2018

В Ubuntu задайте путь к node_modules в .bashrc file

export PATH = "/ home / username / node_modules / .bin: $ПУТЬ "

0 голосов
/ 17 февраля 2012

Возможно, у вас нет прав записи для установки модуля узла в глобальном расположении, например /usr/local/lib/node_modules, в этом случае запустите пакет npm install -g от имени пользователя root.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...