9

gruntjsを使用してローカルにインストールできnpm install gruntました。

しかし、グローバルにインストールしようとすると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!     <npm-@googlegroups.com>
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

インストールするにはどうすればよいですか?

PS 一部のフォルダの権限はroot:root、私のユーザーではなく のものである可能性があります。管理者がそのように VM をインストールしたので...

4

5 に答える 5

10

私もうなり声とバワーでこの問題を抱えていました

私が見つけた解決策は、この記事にありますNPM config

.npmrc で、プレフィックス パスを設定する必要があります

prefix = /usr/local

または、次のように端末から実行できます。

npm config set prefix "/usr/local"

このようにして、ノードはそれらをインストールする場所を認識します:

npm 1.0 では、インストールする方法が 2 つあります。

グローバル —- これにより、モジュールが {prefix}/lib/node_modules にドロップされ、実行可能ファイルが {prefix}/bin に配置されます。{prefix} は通常、/usr/local のようなものです。man ページが提供されている場合は、{prefix}/share/man にも man ページをインストールします。

ローカル —- これにより、現在の作業ディレクトリにパッケージがインストールされます。ノード モジュールは ./node_modules に、実行可能ファイルは ./node_modules/.bin/ に配置され、man ページはまったくインストールされません。

于 2013-01-27T03:17:08.420 に答える
4

node_modulesフォルダーを変更してから、もう一度インストールしてみてください。

sudo chown -R $USER /path/to/node_modules/folder
于 2012-12-03T03:43:25.030 に答える
4

同じ問題が発生しました。以下は私にとってはうまくいきます:

sudo npm install -g grunt-cli
于 2013-10-16T18:51:20.070 に答える
3

試してみsudo npm install -g gruntますか?

于 2013-01-18T14:46:58.740 に答える
3

オプション--no-bin-linksを追加するとうまくいきます。私はすべてを試しましたが、これだけが私の問題を解決しました。ubuntu 12.04 に Yeoman をインストールしていましたが、常にエラーが返されていました。

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

于 2013-12-24T14:42:21.933 に答える