npm install時のEACCESエラー対策(公式サイト参照)

npmパッケージをgオプションでインストールする際などにEACCESエラーが起きることがある。
npm公式サイトのドキュメントによると、対策法は以下の3つ

【対策1】:npmのデフォルトディレクトリのパーミッション(オーナー)を変更する。
・手順1
npmのデフォルトディレクトリを確認する。
npm config get prefix
たいていの場合は /usr/local になる。
もし/usrの場合はパーミッションがめちゃくちゃになるので、対策2にする。

・手順2
npmのデフォルトディレクトリのオーナーを変更する。
sudo chown -R user_name(ユーザー名) /usr/local(npmのデフォルトディレクトリ)/node_modules
必要に応じて /usr/local/bin、/usr/local/share も変更する。


【対策2】npmのデフォルトディレクトリを変更する。
npmのデフォルトディレクトリが/usrなどの場合、他のユーザーと共有している場合などに問題になるので、npmのデフォルトディレクトリを変更する。

・手順1 グローバルインストール用のディレクトリ(例: ~/.npm-global)を作成する。
mkdir ~/.npm-global

・手順2 npmのデフォルトディレクトリを設定する。
npm config set prefix '~/.npm-global'

・手順3 パスを通す ~/.profileを開いて
export PATH=~/.npm-global/bin:$PATH

・手順4 パスを反映する
source ~/.profile

~/.profileを編集したくない場合などは手順2〜4の替わりに、インストール時にENV変数を使う方法もある。
NPM_CONFIG_PREFIX=~/.npm-global npm install -g jshint



【対策3】パッケージマネージャーを使う
MacではHomebrewでnodeをインストールすることでこの問題を避けることができる。
brew install node


参考:03 - Fixing npm permissions | npm Documentation
posted by digital-squad at 2016年05月25日 12時31分 | Comment(0) | TrackBack(0) | Web関連ニュース
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバック