2013-04-11 5 views
6

Express.jsを使用しているため、通常はもうnpm installを使用できません。私はいつもそれが機能するためのルートを行かなければならない...NPMは常にExpressプロジェクトでrootを求めます

私は後npm installをしようとするとの私は

express --sessions --css css 

で挙を生成するとしましょう、私はこれらのエラーに

npm WARN package.json [email protected] No README.md file found! 
npm ERR! Error: EACCES, open '/Users/Arnaud/.npm/e7d16cae-express-3-1-1.lock' 
npm ERR! { [Error: EACCES, open '/Users/Arnaud/.npm/e7d16cae-express-3-1-1.lock'] 
npm ERR! errno: 3, 
npm ERR! code: 'EACCES', 
npm ERR! path: '/Users/Arnaud/.npm/e7d16cae-express-3-1-1.lock' } 
npm ERR! 
npm ERR! Please try running this command again as root/Administrator. 

npm ERR! System Darwin 12.3.0 
npm ERR! command "node" "/usr/local/bin/npm" "install" 
npm ERR! cwd /Users/Arnaud/Sites/test 
npm ERR! node -v v0.10.2 
npm ERR! npm -v 1.2.15 
npm ERR! path /Users/Arnaud/.npm/e7d16cae-express-3-1-1.lock 
npm ERR! code EACCES 
npm ERR! errno 3 
npm ERR! stack Error: EACCES, open '/Users/Arnaud/.npm/e7d16cae-express-3-1-1.lock' 
npm ERR! 
npm ERR! Additional logging details can be found in: 
npm ERR!  /Users/Arnaud/Sites/test/npm-debug.log 
npm ERR! not ok code 0 
を持っています

しかし、sudo npm installを実行すると、それはすべて良いことです...何故でしょうか?

+0

ファイル '/ユーザ/アルノー/ .npm/e7d16cae-急行-3-1-1.lock'は、おそらく一度実行しているから(おそらく残り物をrootに属しルートとして 'npm')。私はあなたがそれを取り除いてやり直すことができると思う。それ以外の場合は、 '/ Users/Arnaud/.npm /'の許可をチェックして書き込み可能であることを確認してください。 – robertklep

答えて

11

これはおそらくアクセス許可の問題です。 /Users/Arnaud/.npmディレクトリの所有権はあなたがOSX上にある場合は、あなたもおそらく同様にあなたのための問題を修正しますディスク全体、全体にアクセス権を修復するために、ディスクユーティリティを使用することができます

chown -R Arnaud /Users/Arnaud/.npm 

ターミナルで次のコマンドを実行して再利用するために、 。

+0

うん、しました。奇妙なことに、私はディスクユーティリティを使ってパーミッションを修復しようとしましたが、何も解決しませんでした...とにかく、今は動作します。ありがとう:) – Axiol

+4

私はsudo chown -R username /Users/username/.npmをしなければならなかった – ajh158

+0

誰もがこのコマンドをubuntuで知っていますか? 'npm install -g anyThing'を実行しようとすると、前もって' sudo'で再実行しなければなりません。 –

0

MAC OSまたはUnix/Lunixマシンを使用している場合は、rootの所有者であっても、端末のコマンドラインでsudoコマンドを使用する必要がある場合でも、 。したがって、ファイルやディレクトリの所有権を変更するだけでは、ほとんどの場合chownコマンドでは不十分です。

あなたが実行するコマンドはシステムファイルに大きな変化をもたらし、Windowsの場合と同様にシステム管理者のパスワードを入力するように求めるので、root adminのパスワードを入力する必要があります。それは次のようになります。

* MS-のMacBook - プロ:(ROOT /管理者用パスワードを入力してください)

:〜AMB $ sudoを NPM表現発電を

パスワード-gインストール

/usr/local/bin/express -> /usr/local/lib/node_modules/express-generator/bin/express-cli.js /usr/local/lib └─┬ [email protected] ├─┬ [email protected] │ └── [email protected] ├── [email protected] ├─┬ [email protected] │ └── [email protected] └── [email protected] 

MS-のMacBook Proの-:〜AMB $ *

関連する問題