1. TOPTOP
  2. Webサービス
  3. Node.js

npm(Node Package Manager)のバージョンを確認したら”npm update check failed”が出たのでchownコマンドで修正

npm_update_check_failed_1

久しぶりにnpm(Node Package Manager)を使うためにバージョンを確認すると、”npm update check failed“というエラーが出ました。

$ npm -v
5.6.0

┌─────────────────────────────────────────────────────────────────┐
│                     npm update check failed                     │
│               Try running with sudo or get access               │
│              to the local update config store via               │
│ sudo chown -R $USER:$(id -gn $USER) /Users/MYUSERNAME/.config │
└─────────────────────────────────────────────────────────────────┘

メッセージの意味

メッセージを見た感じでは「あなた、npmのアップデートが失敗してますよ!」と注意喚起されているような感じがします、”npm update check failed”の文字列は黄色で表示されているので(そういえば今までNode.jsの4系ぐらいを使っていたのを、anyenv(新しいタブで開く)を使って8系に変えたので、その影響が出たのかもしれません。

ただし、”npm -v”のコマンドに対して、npmのバージョン番号は表示されているので、致命的なエラーではないと思います。

処置

sudo chown -R $USER:$(id -gn $USER) /Users/MYUSERNAME/.config

メッセージで書かれている通り、”/Users/MYUSERNAME/.config”以下のファイルについて、管理者権限で再帰的にユーザー名とグルプ名を変更します。

$ npm -v
5.6.0

chownコマンドを実行したあとにもう一度、npmのバージョンを確認すると、今度は冒頭の画像のようなエラーは表示されなくなりました。

疑問点

sudo chown -R $USER:$(id -gn $USER) /Users/HiroshiFukui/.config

というコマンドのうち、”$USER:$(id -gn $USER)“は”ユーザー名:グループ名”のことを指します。ですがなぜこんな書き方になるかは分かりません。 

こちらのページに似たようなことが書かれていますが、Google翻訳を通しても、意味がよく分かりません。後日、さくらクラブの「いろいろ初心者もくもく勉強会(新しいタブで開く)」で質問してみます。