2012-11-23 7 views
9

Я мог бы установить gruntjs локально, используя npm install grunt.Глобальная установка grunt.js не работает

Но когда я пытаюсь установить его глобально npm install grunt -g, я получаю сообщение об ошибке:

npm ERR! Error: EACCES, symlink '../lib/node_modules/grunt/bin/grunt' 
npm ERR! 
npm ERR! Please try running this command again as root/Administrator. 
npm ERR! 
npm ERR! System Linux 2.6.18-92.el5xen 
npm ERR! command "nodejs" "/usr/bin/npm" "install" "grunt" "-g" 
npm ERR! cwd /home/lj 
npm ERR! node -v v0.6.18 
npm ERR! npm -v 1.1.19 
npm ERR! path ../lib/node_modules/grunt/bin/grunt 
npm ERR! code EACCES 
npm ERR! message EACCES, symlink '../lib/node_modules/grunt/bin/grunt' 
npm ERR! errno {} 

npm ERR! Error: EACCES, open 'npm-debug.log' 
npm ERR! 
npm ERR! Please try running this command again as root/Administrator. 
npm ERR! 
npm ERR! System Linux 2.6.18-92.el5xen 
npm ERR! command "nodejs" "/usr/bin/npm" "install" "grunt" "-g" 
npm ERR! cwd /home/lj 
npm ERR! node -v v0.6.18 
npm ERR! npm -v 1.1.19 
npm ERR! path npm-debug.log 
npm ERR! code EACCES 
npm ERR! message EACCES, open 'npm-debug.log' 
npm ERR! errno {} 
npm ERR! 
npm ERR! Additional logging details can be found in: 
npm ERR!  /home/lj/npm-debug.log 
npm not ok 

С sudo У меня есть ошибка тоже:

npm ERR! Error: spawn ENOENT 
npm ERR!  at errnoException (child_process.js:483:11) 
npm ERR!  at ChildProcess.spawn (child_process.js:446:11) 
npm ERR!  at child_process.js:342:9 
npm ERR!  at Object.execFile (child_process.js:252:15) 
npm ERR!  at uidNumber (/usr/lib/nodejs/uid-number/uid-number.js:33:17) 
npm ERR!  at loadUid (/usr/lib/nodejs/npm/lib/npm.js:336:5) 
npm ERR!  at Array.2 (/usr/lib/nodejs/bind-actor.js:15:8) 
npm ERR!  at LOOP (/usr/lib/nodejs/chain.js:15:13) 
npm ERR!  at /usr/lib/nodejs/chain.js:18:7 
npm ERR!  at setUser (/usr/lib/nodejs/npm/lib/npm.js:346:32) 
npm ERR! You may report this log at: 
npm ERR!  <http://github.com/isaacs/npm/issues> 
npm ERR! or email it to: 
npm ERR!  <[email protected]> 
npm ERR! 
npm ERR! System Linux 2.6.18-92.el5xen 
npm ERR! command "nodejs" "/usr/bin/npm" "install" "grunt" "-g" 
npm ERR! cwd /home/lj 
npm ERR! node -v v0.6.18 
npm ERR! npm -v 1.1.19 
npm ERR! syscall spawn 
npm ERR! code ENOENT 
npm ERR! message spawn ENOENT 
npm ERR! errno {} 
npm ERR! 
npm ERR! Additional logging details can be found in: 
npm ERR!  /home/lj/npm-debug.log 
npm not ok 

Что я мог сделать, чтобы установить Это?

P.S. Возможно, что права доступа для некоторых папок для root:root, а не для моего пользователя. Потому что наши администраторы установили ВМ таким образом ...

+3

Try ' npm cache clean' сначала. –

+1

Я его использовал. Что мне делать? – ValeriiVasin

+0

Похоже, это зависит от типа установки узла: локального или глобального ... – ValeriiVasin

ответ

4

Попробуйте chowning папку node_modules, а затем попытаться установить снова:

sudo chown -R $USER /path/to/node_modules/folder 
+0

Этот метод работал для меня, когда мне сказали, что 'sudo npm' не было командой – iabw

3

попробовать sudo npm install -g grunt?

+0

Спасибо, это помогло в моем случае – Andrija

10

У меня была эта проблема тоже с ворчанием и дачей

Решение, которое я нашел в этой статье NPM config

В вашем .npmrc вам нужно установить префикс пути

prefix = /usr/local 

или вы можете сделать это из терминала, как это:

npm config set prefix "/usr/local" 

Таким образом, узел будет знать, где их установить:

В НОМ 1.0, существует два способа установки вещи:

глобально - Это капли модулей {префикс}/Lib/node_modules, и помещает исполняемые файлы в {префикс}/bin, где {префикс} обычно похож на/usr/local. Он также устанавливает man-страницы в {prefix}/share/man, если они поставляются.

локально. Это устанавливает ваш пакет в текущем рабочем каталоге. Модули узла входят ./node_modules, исполняемые файлы входят ./node_modules/.bin/, а man-страницы вообще не установлены.

4

Обнаружена такая же проблема. Следующие работы для меня:

sudo npm install -g grunt-cli 
3

Добавление опции --no-бен-ссылки работает хорошо. Я пробовал все, и только это решило мою проблему. Я устанавливал Йомен на Ubuntu 12.04 и это всегда возвращая ошибку:

npm ERR! Error: EACCES, symlink '../lib/node_modules/yo/cli.js' 

Тогда я сделал:

npm install -g --no-bin-links yo 

= D

Для получения более подробной информации https://github.com/isaacs/npm/issues/2380

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

  • Нет связанных вопросов^_^