2012-11-23 12 views
9

を使用してgruntjsをローカルにインストールできます。grunt.jsのグローバルインストールが失敗します

しかし、私は、私はエラーを取得しています、グローバルnpm install grunt -gそれをインストールしようとしているとき:sudo

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 

を私もエラーがあります:

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である可能性があります。私たちの管理者がVMをそのように設置Cuzの...

+3

てみ '最初にnpmキャッシュクリーン '。 –

+1

私はそれを使用しました。私は何をすべきか? – ValeriiVasin

+0

それはノードのインストールタイプに依存します:ローカルまたはグローバル... – ValeriiVasin

答えて

4

はnode_modulesフォルダをchowning試してみて、再度インストールしよう:

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

この方法は、私が 'sudo npm'がコマンドではないと言われたときに働いた – iabw

3

sudo npm install -g gruntを試してみてください?私はあまりにもうなり声と亭で、この問題を持っていた

+0

ありがとう、これは私の場合に役立ちました – Andrija

10

私が見つけた解決策は、あなたが接頭辞パス

prefix = /usr/local 
に設定する必要があなたの.npmrcでこの記事 NPM config

であります

か、このような端末からそれを行うことができます。

npm config set prefix "/usr/local" 

は、この方法でノードは、それらをインストールする場所を知っています:NPM 1.0で

、物事をインストールするには2つの方法があります。

グローバル - これは{プレフィックス}/libに/ node_modulesにモジュールをドロップし、実行可能ファイルを置きます{prefix}/binにあります。{prefix}は通常/ usr/localのようなものです。また、マニュアルページが{prefix}/share/manにインストールされていればインストールされます。

ローカル - 現在の作業ディレクトリにパッケージをインストールします。ノードモジュールは./node_modulesに入り、実行ファイルは./node_modules/.bin/に入り、マニュアルページはまったくインストールされません。

4

同じ問題が発生しました。私にとっては、次の作品:

sudo npm install -g grunt-cli 
3

良い作品オプション--no-binにリンクを追加します。私はすべてを試してみましたが、これだけで私の問題は解決しました。私は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

関連する問題