ゆったりWeb手帳

nodeでパーミッションエラー

gatsbyのアップデートでエラーになった

gatsby-cliをアップデートするためにrootでnpm i -g gatsby-cliを実行したところ、sh: 1: node: Permission deniedというエラーが出ました。

アップデート失敗どころかgatsbyコマンドも使えなくなってしまったので解決法を探しました。

こちらにありました: 参考

shell
# npm config set user 0
# npm config set unsafe-perm true

元に戻すには

なにをやっているのかよくわからないけど、たぶんパーミッションを無視する設定でしょう。 セキュリティ的に少し怖いので元に戻す方法も書いておきます。

この設定はホームディレクトリの.npmrcに記録されているので、これを編集します。

rootの場合は/root/.npmrcです。

/root/.npmrc
user=0
unsafe-perm=true

この2行を削除すれば元通り。