2014-11-26 3 views
1

Я искал аналогичную тему в stackoverflow, но не смог найти ее, так что вот она.npm удаляет себя при обновлении npm

Я смотрю документацию по стеклу MEAN по адресу http://learn.mean.io/ и просто проверяю некоторые команды оболочки.

Я пытался обновить НПМ через

npm update -g npm 

но вышел выдающих ошибки

npm ERR! Error: EACCES, unlink '/usr/local/lib/node_modules/npm' 
npm ERR! { [Error: EACCES, unlink '/usr/local/lib/node_modules/npm'] 
npm ERR! errno: 3, 
npm ERR! code: 'EACCES', 
npm ERR! path: '/usr/local/lib/node_modules/npm' } 
npm ERR! 
npm ERR! Please try running this command again as root/Administrator. 

npm ERR! System Darwin 14.0.0 
npm ERR! command "node" "/usr/local/bin/npm" "update" "-g" "npm" 
npm ERR! cwd /Users/cihankoseoglu 
npm ERR! node -v v0.10.33 
npm ERR! npm -v 1.4.28 
npm ERR! path /usr/local/lib/node_modules/npm 
npm ERR! code EACCES 
npm ERR! errno 3 
npm ERR! stack Error: EACCES, unlink '/usr/local/lib/node_modules/npm' 
npm ERR! error rolling back Error: EACCES, unlink '/usr/local/lib/node_modules/npm' 
npm ERR! error rolling back { [Error: EACCES, unlink '/usr/local/lib/node_modules/npm'] 
npm ERR! error rolling back errno: 3, 
npm ERR! error rolling back code: 'EACCES', 
npm ERR! error rolling back path: '/usr/local/lib/node_modules/npm' } 
npm ERR! not ok code 0 

поэтому я попытался

sudo npm update -g npm 

, но после того, как эта команда работает, моя ЗШ оболочка не может найти npm. когда я набираю любую команду npm, она просто возвращает команду, не найденную. Мне пришлось переустановить узел. что может быть причиной этого? Это удаление npm или изменение его PATH в фоновом режиме по неизвестным причинам?

+0

Вы даете root-доступ через npm? Произвольные вещи могут произойти, когда вы предоставляете доступ к корневой программе. –

+1

похоже, что у вас нет собственного/usr/локального каталога. Переходите рекурсивно «chown», чтобы все в нем было вашим, а npm просто работает без sudo (требуется sudo для npm - идеальный индикатор наличия неправильных разрешений). –

+0

проблема в том, что я администратор, и у меня есть этот каталог. когда я использую 'sudo chown -R \' whoami \ '~/.npm' на zsh и пытаюсь обновить npm -g npm' даже без sudo, npm удаляется –

ответ

0

Это испытанный и проверенный Node.js установить технику, после чего вашей НОГО обновления команды будет хорошо работать

Ниже приведены шаги по установке Node.js из источника (OSX/Linux) Вы можете/должны выдайте все эти cmds как самостоятельно. НЕ root (sudo)

ПРИМЕЧАНИЕ. - Это устанавливает Node.js, который дает вам как узел, так и npm, , они собираются вместе для выпуска.

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

sudo mv ~/.npmrc ~/.npmrc_ignore 
sudo mv ~/.npm ~/.npm_ignore 
sudo mv ~/tmp ~/tmp_ignore 
sudo mv ~/.npm-init.js ~/.npm-init.js_ignore 

источник загрузки из: http://nodejs.org/download/

cd node-v0.10.33 

определить переменную окружения NODE_PATH как каталог для последующего модуля устанавливает

export NODE_PARENT=/some/desired/install/path_goes_here 

export NODE_PARENT=/usr/local/bin/nodejs # use this if you want to install as root (sudo) 
export NODE_PARENT=${HOME}/nodejs-v0.10.33 # use this if you want to install modules as yourself 

export PATH=${NODE_PARENT}/bin:${PATH} 
export NODE_PATH=${NODE_PARENT}/lib/node_modules 

./configure --prefix=${NODE_PARENT} 

make 
make install 

который помещает его в каталог d по выше --prefix

при использовании синтаксиса: НПМ установки -g some_cool_module -g, для глобальной устанавливает его в реж $ NODE_PATH и не ваш $ PWD

Теперь поставить выше трех экспорт ххх = ууу команд в ваш ~/.bashrc или некоторые из них, чтобы перенести эти изменения переменных среды.

+0

Каковы различия в установке из исходного кода по сравнению с использованием nodeJS в комплекте установщик с веб-сайта? вы устанавливаете другой путь? –

+0

Эти направления просты, прозрачны и пуленепробиваемы. Я вижу много людей с проблемами Node.js (node ​​/ npm), связанных с плохими установками, которые следуют другим указаниям.Что касается различий, то есть много способов сделать что-то неправильно, когда по существу эти другие инструкции по установке пытаются сделать только вышеуказанные шаги, не более того. –

Смежные вопросы