6

ターミナルを使用してノードモンまたはスーパーバイザーをインストールしようとしていますが、理解できないこのエラーが発生し続けます。動作しているように見える管理者として実行しようとしましたsudo npm install supervisor -gが、いくつかのjsコードを削除/追加したときに動作しませんでした。何か案は?

Squirrels-MacBook-Air:lesson7_examples Squirrel$ npm install nodemon -g
npm http GET https://registry.npmjs.org/nodemon
npm http 304 https://registry.npmjs.org/nodemon
npm ERR! Error: EACCES, mkdir '/usr/local/lib/node_modules/nodemon'
npm ERR!  { [Error: EACCES, mkdir '/usr/local/lib/node_modules/nodemon']
npm ERR!   errno: 3,
npm ERR!   code: 'EACCES',
npm ERR!   path: '/usr/local/lib/node_modules/nodemon',
npm ERR!   fstream_type: 'Directory',
npm ERR!   fstream_path: '/usr/local/lib/node_modules/nodemon',
npm ERR!   fstream_class: 'DirWriter',
npm ERR!   fstream_stack: 
npm ERR!    [ '/usr/local/lib/node_modules/npm/node_modules/fstream/lib/dir-writer.js:36:23',
npm ERR!      '/usr/local/lib/node_modules/npm/node_modules/mkdirp/index.js:37:53',
npm ERR!      'Object.oncomplete (fs.js:107:15)' ] }
npm ERR! 
npm ERR! Please try running this command again as root/Administrator.

npm ERR! System Darwin 12.4.1
npm ERR! command "node" "/usr/local/bin/npm" "install" "nodemon" "-g"
npm ERR! cwd /Users/Squirrel/Documents/Code/Memry/Memry_Mongoose
npm ERR! node -v v0.10.21
npm ERR! npm -v 1.3.11
npm ERR! path /usr/local/lib/node_modules/nodemon
npm ERR! fstream_path /usr/local/lib/node_modules/nodemon
npm ERR! fstream_type Directory
npm ERR! fstream_class DirWriter
npm ERR! code EACCES
npm ERR! errno 3
npm ERR! stack Error: EACCES, mkdir '/usr/local/lib/node_modules/nodemon'
npm ERR! fstream_stack /usr/local/lib/node_modules/npm/node_modules/fstream/lib/dir-writer.js:36:23
npm ERR! fstream_stack /usr/local/lib/node_modules/npm/node_modules/mkdirp/index.js:37:53
npm ERR! fstream_stack Object.oncomplete (fs.js:107:15)
npm ERR! 
npm ERR! Additional logging details can be found in:
npm ERR!     /Users/Squirrel/Documents/Code/Memry/Memry_Mongoose/npm-debug.log
npm ERR! not ok code 0
Squirrels-MacBook-Air:lesson7_examples Squirrel$ 

PSこれを既存のテンプレートで実行していますが、依存関係は

  "dependencies": {
    "mongoose": "~3.6.15",
    "express": "~3.3.4",
    "jade": "~0.34.1",
    "email-validator": "~0.1.2"
  }

私が sudo を試したとき、これが起こったことです:

sudo npm install supervisor -g --save 
Password:
npm http GET https://registry.npmjs.org/supervisor
npm http 304 https://registry.npmjs.org/supervisor
/usr/local/bin/node-supervisor -> /usr/local/lib/node_modules/supervisor/lib/cli-wrapper.js
/usr/local/bin/supervisor -> /usr/local/lib/node_modules/supervisor/lib/cli-wrapper.js
supervisor@0.5.6 /usr/local/lib/node_modules/supervisor

これはうまくいったようです。しかし、アプリケーション コードよりも、javascript の追加と削除を開始し、[保存] をクリックしましたが、ターミナル内でサーバーを再起動しない限り、効果は発生しませんでした。

4

3 に答える 3

7

エラーが発生しました。これは、Mac OS X で標準ユーザーとしてEACCESディレクトリを作成する権限がないことを意味します。/usr/local/lib/node_modules/nodemon

次の 2 つの解決策があります。

  • を使用して、スーパーユーザーとして同じコマンドを実行しますsudo。パッケージは にインストールされ/usr/local/lib/node_modulesます。
  • npm の設定を変更して、ユーザーが所有するプライベート フォルダーの 1 つにすべてのグローバル パッケージをインストールします。プロセスを段階的に説明するこの関連する回答を参照してください。
于 2013-11-15T20:36:38.003 に答える