Ошибка при попытке установить npm для Node.js - PullRequest
8 голосов
/ 09 октября 2011

У меня возникло затруднение при изучении Node.js, и у меня возникли некоторые проблемы при установке NPM (Node Package Manager). Я почти уверен, что это либо проблема с правами доступа, либо папка ... обратите внимание, что я только что купил Mac (я использовал Windows всю свою жизнь), и я довольно незнаком с терминалом Mac.

Хорошо, я пошел использовать однострочную установку для NPM: curl <a href="http://npmjs.org/install.sh">http://npmjs.org/install.sh</a> | sh, и я получил ошибку ...

All clean!
! [ -d .git ] || git submodule update --init --recursive
node cli.js rm npm -g -f
node cli.js install -g -f
npm ERR! Could not create /usr/local/lib/node_modules/___npm.npm
npm ERR! error installing npm@1.0.94 Error: EACCESS, Undefined error: 0 '/usr/local/lib/node_modules'
npm ERR! Error: EACCESS, Undefined error: 0 '/usr/local/lib/node_modules'
npm ERR! Report this *entire* log at:
npm ERR!     <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR!     <npm-@googlegroups.com>
npm ERR! 
npm ERR! System Darwin 11.0.0
npm ERR! command "node" "/private/var/folders/z2/f05c8hx105g79drh6r7hr01w0000gn/T/npm.1219/package/cli.js" "install" "-g" "-f"
npm ERR! cwd /private/var/folders/z2/f05c8hx105g79drh6r7hr01w0000gn/T/npm.1219/package
npm ERR! node -v v0.5.9-pre
npm ERR! npm -v 1.0.94
npm ERR! path /usr/local/lib/node_modules
npm ERR! code EACCESS
npm ERR! 
npm ERR! Additional logging details can be found in:
npm ERR!     /private/var/folders/z2/f05c8hx105g79drh6r7hr01w0000gn/T/npm.1219/package/npm-debug.log
npm not ok
make: *** [install] Error 1
npm ERR! Could not create /usr/local/lib/node_modules/___npm.npm
npm ERR! error installing npm@1.0.94 Error: EACCESS, Undefined error: 0 '/usr/local/lib/node_modules'
npm ERR! Error: EACCESS, Undefined error: 0 '/usr/local/lib/node_modules'
npm ERR! Report this *entire* log at:
npm ERR!     <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR!     <npm-@googlegroups.com>
npm ERR! 
npm ERR! System Darwin 11.0.0
npm ERR! command "/usr/local/bin/node" "/private/var/folders/z2/f05c8hx105g79drh6r7hr01w0000gn/T/npm.1219/package/cli.js" "install" "-gf"
npm ERR! cwd /private/var/folders/z2/f05c8hx105g79drh6r7hr01w0000gn/T/npm.1219/package
npm ERR! node -v v0.5.9-pre
npm ERR! npm -v 1.0.94
npm ERR! path /usr/local/lib/node_modules
npm ERR! code EACCESS
npm ERR! 
npm ERR! Additional logging details can be found in:
npm ERR!     /private/var/folders/z2/f05c8hx105g79drh6r7hr01w0000gn/T/npm.1219/package/npm-debug.log
npm not ok
It failed

очевидно, что здесь проблема с папкой, возможно, я устанавливаю не в том месте, папка моего узла находится в Users / Mike / node, когда я пытаюсь найти переменную пути к узлу, используя NODE_PATH, я получаю следующую ошибку:

Michaels-MacBook-Pro:~ Mike$ node node/NODE_PATH  

node.js:203
        throw e; // process.nextTick error, or 'error' event on first tick
              ^
Error: Cannot find module '/Users/Mike/node/NODE_PATH'
    at Function._resolveFilename (module.js:334:11)
    at Function._load (module.js:279:25)
    at Array.<anonymous> (module.js:470:10)
    at EventEmitter._tickCallback (node.js:195:26)

Может кто-нибудь сказать, пожалуйста, что я делаю не так? Нужно ли добавить путь к узлу, например:

$ export PATH=/path/to/node/0.n.y/bin:${PATH}
$ curl http://npmjs.org/install.sh | sh

Или я запутываюсь?

Ответы [ 5 ]

21 голосов
/ 09 октября 2011

Для доступа к /usr/local требуется, чтобы вы использовали sudo для установки NPM или изменили свои разрешения. Из этих трех я рекомендую третий вариант .

Вариант № 1: Использовать sudo

(Обратите внимание, что создатель NPM не рекомендует использовать этот метод )

curl http://npmjs.org/install.sh | sudo sh

Вариант № 2: Изменить права доступа

sudo chmod g+rwx /usr/local
sudo chgrp admin /usr/local

Вариант № 3: Использовать домашний напиток

Я рекомендую установить Homebrew для управления установкой * инструментов nix на OS X (я бы держался подальше от MacPorts & Fink ). При установке Homebrew будут установлены разрешения для /usr/local, чтобы вы могли писать в него без sudo. Затем вы можете установить Node через Homebrew, а затем установить NPM как обычно:

brew install node --without-npm
curl http://npmjs.org/install.sh | sh
0 голосов
/ 18 июня 2014

Опция № 4:

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

Я должен уточнить, для каких целей мне понадобился npm, чтобы установить appium на OSX-сервер под управлением Bamboo для нашего интегрированного тестирования.У меня были только macports, и вместо того, чтобы устанавливать homebrew для управления только одним пакетом, я решил собрать его из исходного кода и установить его локально для пользователя бамбука.Это позволило нам запустить appium в качестве пользователя бамбука и позволило запустить наши тесты appium на Bamboo как не очень привилегированный пользователь.

В этом руководстве от Tom Novelli рассказывается, как это сделать.Это.Основная суть:

# Make the dir to hold the installation of node
cd
mkdir ./local
mkdir sources
# Tell npm about your new non-default directories
vi .npmrc 
cd sources
# Get node and do the typical source install procedure
wget http://nodejs.org/dist/v0.10.29/node-v0.10.29.tar.gz
tar xf node-v0.10.29.tar.gz
cd node-v8.10.29/
# Important part is the --prefix
./configure --prefix=~/.local
make
make install
# Make a link so node doesn't get confused
cd
ln -s .local/lib/node_modules .node_modules
# Edit PATH to include ~/.local
vi .bashrc

.npmrc

root =    /home/YOUR-USERNAME/.local/lib/node_modules
binroot = /home/YOUR-USERNAME/.local/bin
manroot = /home/YOUR-USERNAME/.local/share/man

.bashrc ИЛИ. Профайл ИЛИ в зависимости от того, где вы хотите указать путь

export PATH=$HOME/.local/bin:$PATH

Полезные ссылки

Справочная страница .npmrc полезна.

И на всякий случай вот ссылка на источник узла .

0 голосов
/ 13 июня 2014

В качестве обновления для метода № 3 в OSX теперь правильная команда:

brew install node --without-npm
curl https://www.npmjs.org/install.sh | sh
0 голосов
/ 14 февраля 2013

Если вы используете Windows, требуется несколько шагов, 1) создать файл с именем package.json

{"name": "hello", "version": "0.0.1", "зависимости": {" express ":" * "}} где hello - это имя пакета и * означает самую последнюю версию кода вашей зависимости

2) для вашего каталога проекта и выполните следующую команду

npm install

0 голосов
/ 09 октября 2011

Использовать curl <a href="http://npmjs.org/install.sh" rel="nofollow">http://npmjs.org/install.sh</a> | sudo sh.

Редактировать: Вы используете узел -v v0.5.9-pre, который очень нестабилен.Используйте 0.4.12, последнюю стабильную версию.

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