More than 1 year has passed since last update.

npmでpermission deniedになった時の対処法[mac]

Last updated at Posted at 2016-06-11


npmを利用してinstallしたりupgradeしたりする際にpermission deniedと表示されてしまった時に助けになるかもしれない記事です。


npmコマンドを実行すると "EACCES: permission denied, access '/usr/local/lib/node_modules/npm/node_modules/<パッケージ名>'" というエラーが表示されてしまう。

npm ERR! Darwin 15.5.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "update" "-g"
npm ERR! node v5.6.0
npm ERR! npm  v3.7.1
npm ERR! path /usr/local/lib/node_modules/npm/node_modules/aproba
npm ERR! code EACCES
npm ERR! errno -13
npm ERR! syscall access

npm ERR! Error: EACCES: permission denied, access '/usr/local/lib/node_modules/npm/node_modules/aproba'
npm ERR!     at Error (native)
npm ERR!  { [Error: EACCES: permission denied, access '/usr/local/lib/node_modules/npm/node_modules/aproba']
npm ERR!   errno: -13,
npm ERR!   code: 'EACCES',
npm ERR!   syscall: 'access',
npm ERR!   path: '/usr/local/lib/node_modules/npm/node_modules/aproba' }
npm ERR! 
npm ERR! Please try running this command again as root/Administrator.

npm ERR! Please include the following file with any support request:
npm ERR!     /Users/<任意のディレクトリ>/npm-debug.log


Resolving EACCES permissions errors when installing packages globally | npm Docs

対策1: Node.jsとnpmを再インストールする(推奨)

npm install -g npm

対策2: npmのデフォルトディレクトリを変更する

1. PCのバックアップを行う
2. グローバルインストールのためのディレクトリを作成する
mkdir ~/.npm-global
3. 新しいディレクトリを使う設定をnpmで行う
npm config set prefix '~/.npm-global'
4. ~/.profileを開くか作成し,以下の行を追加する
export PATH=~/.npm-global/bin:$PATH
5. 3の変更を反映する
source ~/.profile
6. 新しい設定を確認するために sudo なしでpackage1をインストールしてみる
npm install -g jshint

  1. packageはなんでも可能。公式ドキュメントに合わせてjshintとしています。 

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
What you can do with signing up