Nodeでは、npmと呼ばれるパッケージ管理システムを使ってパッケージをインストールします。
グローバルインストールするとき、-gオプションをつけますが、/usr/local/lib/node_moduleディレクトリに書き込み権限がない場合、以下のようなエラーが表示されます。
[inoue@air express_test]$ npm install express -g npm http GET https://registry.npmjs.org/express npm http 200 https://registry.npmjs.org/express npm http GET https://registry.npmjs.org/express/-/express-2.5.5.tgz npm http 200 https://registry.npmjs.org/express/-/express-2.5.5.tgz npm ERR! Could not create /usr/local/lib/node_modules/___express.npm npm ERR! error installing express@2.5.5 npm ERR! Error: EACCES, permission denied '/usr/local/lib/node_modules/___express.npm' 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.2.0 npm ERR! command "node" "/usr/local/bin/npm" "install" "express" "-g" npm ERR! cwd /Users/inoue/Dropbox/Projects/node/mocha_test npm ERR! node -v v0.6.7 npm ERR! npm -v 1.1.0-beta-10 npm ERR! path /usr/local/lib/node_modules/___express.npm npm ERR! code EACCES npm ERR! message EACCES, permission denied '/usr/local/lib/node_modules/___express.npm' npm ERR! npm ERR! Additional logging details can be found in: npm ERR! /Users/inoue/Dropbox/Projects/node/mocha_test/npm-debug.log npm not ok
この場合、sudoコマンドを使ってインストールします。
[inoue@air mocha_test]$ sudo npm install express -g npm http GET https://registry.npmjs.org/express npm http 304 https://registry.npmjs.org/express npm http GET https://registry.npmjs.org/mime npm http GET https://registry.npmjs.org/connect npm http GET https://registry.npmjs.org/qs npm http GET https://registry.npmjs.org/mkdirp/0.0.7 npm http 200 https://registry.npmjs.org/mkdirp/0.0.7 npm http GET https://registry.npmjs.org/mkdirp/-/mkdirp-0.0.7.tgz npm http 200 https://registry.npmjs.org/mime npm http 200 https://registry.npmjs.org/qs npm http 200 https://registry.npmjs.org/connect npm http GET https://registry.npmjs.org/connect/-/connect-1.8.5.tgz npm http 200 https://registry.npmjs.org/mkdirp/-/mkdirp-0.0.7.tgz npm http 200 https://registry.npmjs.org/connect/-/connect-1.8.5.tgz npm http GET https://registry.npmjs.org/formidable npm http 200 https://registry.npmjs.org/formidable /usr/local/bin/express -> /usr/local/lib/node_modules/express/bin/express express@2.5.5 /usr/local/lib/node_modules/express %u251C%u2500%u2500 mkdirp@0.0.7 %u251C%u2500%u2500 qs@0.4.0 %u251C%u2500%u2500 mime@1.2.4 %u2514%u2500%u2500 connect@1.8.5
エラーをよく読めば「npm ERR! Error: EACCES, permission denied」とありますので気づくと思います。
0 件のコメント:
コメントを投稿