【備忘録】Node.jsでパーミッションで怒られが発生してグローバルインスコができなくなったときに読むもの
2020/09/27
こんにちは!!!!!!!
こんにちは!!!!!!!!!!!!!!!!!!!!!!!!(クソでか挨拶)
みんな大好き、幼女のカズ之助くんです。
突然ですが……カズ之助くん、幼女なのでょゎょゎなんですよ。
それで、ついさきほどなんですが、webpack
をnpm
でグローバルインストールしようとしたらパーミッションエラーで入れられなくて泣いちゃったんですよね。
幼女のカズ之助くんは怒られるのに慣れていません。あぁなんて可哀想……
ローカルインストールは?
ローカルインストールはできます。
ただ、グローバルインストールができないので、webpack
コマンドが使えないんですよねあぁ困った困った……
どんな感じになるかというと……
$ npm install -g webpack webpack-cli
(省略)
gyp ERR! configure error
gyp ERR! stack Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules/webpack(省略)'
gyp ERR! System Darwin 19.6.0
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
(省略)
なんか上の画像のように先頭にsudo
つけても同じような感じでエラー出たのでちょっと悲しくなりました。
(ほら、パーミッション関連だとsudo
つければなんとかなっちゃうことが多いじゃないですか。大いなる力ですよ?)
解決方法
参考: npmでpermission deniedになった時の対処法[mac] - qiita
やったことは、npmのディレクトリの所有者?を変更しました。
-
npmのディレクトリのパスを確認して…
$ npm config get prefix /usr/local
あの、どうやらこれ出力が
/usr
ってなっていたら良くないようなので、その際はこれを見てみよう!! -
npmディレクトリのオーナーを自分のアカウントに変更する
$ sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}
動いた?