Я недавно установил 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.
Если вы хотите установить модуль 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 в следующей части.)
Я не тестировал ни одну из этих вариаций, но они кажутся довольно простыми.
npm prefix
чтобы получить локальный префикс иnode prefix -g
увидеть глобальный префикс :)На Mac я обнаружил, что вывод содержит информацию, которую я искал:
После добавления
/usr/local/share/npm/bin
кexport PATH
линии в моем.bash_profile
, сохранив его, иsource
ING, я был в состоянии работатькак обычно.
источник
Мне нравится использовать файл package.json в корне папки вашего приложения.
Вот один я использую
http://pastie.org/3232212
источник
У меня были проблемы с установкой Express на Ubuntu:
Если по какой-либо причине команда NPM отсутствует, проверьте команду npm с помощью
npm help
. Если нет, выполните следующие действия - http://arnolog.net/post/8424207595/install-node-js-npm-express-mongoose-on-ubuntuЕсли только команда Express не работает, попробуйте:
Это заставило все работать, как я привык с Windows7 и OSX.
Надеюсь это поможет!
источник
Вы должны иметь привилегии суперпользователя,
источник
В Ubuntu укажите путь к node_modules в файле .bashrc
источник
Возможно, у вас нет прав на запись для установки модуля узла в глобальном расположении, например
/usr/local/lib/node_modules
, в этом случае запустите пакет npm install -g от имени пользователя root.источник