質問: npmはsudoなしでエラーをスローします nodejs.orgのパッケージを通してnodeとnpmをインストールしただけで、npmで何かを検索またはインストールしようとすると、コマンドを実行しない限り、次のエラーが発生します。これは権限の問題です。私はすでに管理者です。npm err! error: eacces, open '/users/chietala/.npm/-/all/.cache.json' npm err! { [error: eacces, open '/users/chietala/.npm/-/all/.cache.json'] npm err! errno: 3, npm err! code: 'eacces', npm err! path: '/users/chietala/.npm/-/all/.cache.json' } npm err! npm err! please try running this command again as root/administrator. npm err! system darwin 12.2.0 npm err! command "node" "/usr/local/bin/npm" "search" "bower" npm err! cwd /users/chietala npm err! node -v v0.10.4 npm err! npm -v 1.2.18 npm err! path /users/chietala/.npm/-/all/.cache.json npm err! code eacces npm err! errno 3 npm err! stack error: eacces, open '/users/chietala/.npm/-/all/.cache.json' npm err! npm err! additional logging details can be found in: npm err! /users/chietala/npm-debug.log npm err! not ok code 0
回答: 他の回答では、システムディレクトリの所有権やアクセス権を特定のユーザーに変更することを提案しています。私はそうすることから非常に不利になります、これは非常に厄介になるかもしれなくて、システム全体を台無しにするかもしれません! これはマルチユーザーをサポートする、より一般的でより安全なアプローチです。ノードユーザー用の新しいグループを作成し、このグループに必要なユーザーを追加します。次に、ノードに依存するファイル/ディレクトリの所有権をこのグループに設定します。# create new group sudo groupadd nodegrp # add user to group (logname is a variable and gets replaced by the currently logged in user) sudo usermod -a -g nodegrp `logname` # instant access to group without re-login newgrp nodegrp # check group - nodegrp should be listed as well now groups # change group of node_modules, node, npm to new group sudo chgrp -r nodegrp /usr/lib/node_modules/ sudo chgrp nodegrp /usr/bin/node sudo chgrp nodegrp /usr/bin/npm # (you may want to change a couple of more files (like grunt etc) in your /usr/bin/ directory.) 今すぐあなたは簡単にユーザーとしてあなたのモジュールをインストールすることができますnpm install -g generator-angular いくつかのモジュール(grunt、bower、yoなど)はまだrootとしてインストールする必要があります。これは、それらが/ user/bin /にシンボリックリンクを作成するためです。 編集 3年後、 node version manager を使用することをお勧めします。それはあなたに多くの時間と手間をかけません。