LoginSignup
0
0

More than 1 year has passed since last update.

npm install -g が失敗する場合の対処法

Posted at

環境

Macですがlinuxなら同様の対処で解決するのではないでしょうか
特にバージョンは関係ないかと思います

npm install -gをするとPermission deniedで失敗してしまう

npmの新しいバージョンが使えるようになったということでnpm install -g npmでバージョンアップしようとしたところ、以下のようなエラーが出てしまいました

npm ERR! Error: EACCES: permission denied, access '/usr/local/lib/node_modules/npm/node_modules/abbrev'
npm ERR!  [Error: EACCES: permission denied, access '/usr/local/lib/node_modules/npm/node_modules/abbrev'] {
npm ERR!   errno: -13,
npm ERR!   code: 'EACCES',
npm ERR!   syscall: 'access',
npm ERR!   path: '/usr/local/lib/node_modules/npm/node_modules/abbrev'
npm ERR! }

原因

自明ですが権限エラーです
調べてみるとやはりroot権限になっていました

$ ls -la /usr/local/lib/node_modules/npm
total 512
// ・・・
drwxr-xr-x  360 root      wheel   11520 10  9  2020 node_modules
// ・・・

対処

root権限である必要もないし、Macユーザをオーナーにしようと思ったので以下のコマンドで/usr/local/lib/node_modules以下の権限を全て変更しました

$ sudo chown -R $USER /usr/local/lib/node_modules  

パスワードの入力を要求されるので入力してください
環境変数にユーザ名が登録されたいない場合は

$ sudo chown -R $(whoami) /usr/local/lib/node_modules  

で変更してください

ちなみに上記コマンドでは/usr/local/lib/node_modules以下のディレクトリが全てMacのユーザ権限になります

ちなみに

別のユーザをオーナーにする場合は$USERの部分にユーザ名を入力してください

参考

stackoverflowに記事がありました
https://stackoverflow.com/questions/48910876/error-eacces-permission-denied-access-usr-local-lib-node-modules

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0