【Mac】npm install時に"npm ERR! cb() never called!"エラーが出たときの解決策(※5/20追記アリ)(ja)

はじめに

※!!この記事の内容は、時間の経過・Node・npmのアップデートとともに最新ない可能性がありますことを、ご了承ください。!!

cb() never called! エラー

背景

環境

きっかけ

$ sudo npm install -g yo

でyeomanをインストールしようとした際のエラーでした。

コマンドを打ってばーーーっとイントールが始まり、途中までは、

/usr/local/bin/yo -> /usr/local/lib/node_modules/yo/cli.js

yo@1.1.2 postinstall /usr/local/lib/node_modules/yo
node ./scripts/doctor

[Yeoman Doctor] Everything looks alright!

ルックスオールライトっ!

..ですが最後の最後で…

npm ERR! cb() never called!
npm ERR! not ok code 0

なんでじゃー!!(´;ω;`)

ということで解決策を探したら以下の3つの解決策が。

解決策

npm cache clean

を打つと直るらしいです。こちらは試しておりませんが、これで直るのだったら一番手っ取り早い方法かも。(方法: Node.js - npm update -gでこんなエラーが出たら… - Qiita

② nodeのバージョンをアップデート v0.10.19→v0.10.20 (方法: Index of /dist/v0.10.20/にてnode-v0.10.20.pkgをインストール)。英文等読んでいて一番最初に見つけた解決法がこれだったので筆者はこの方法で解決しました。

③ nodeのバージョンをダウングレード(方法: node.js/orgs/distより特定のバージョンをインストール。)

結論

とりあえず解決できてヨカッタ―。ぐぐれば何でも出てくる。エラーの根本的原因はわかりませんでしたが、キャッシュ周りをお掃除すると直るのならそっち系かな~という曖昧な感じ。どなたか知っておられる方いたら教えていただけると嬉しいです!

追記(5/20(火))

@yutaonoに教えてもらったのですが、Nodeのバージョン管理をする際にはnvmを使うのが一般的だそうで・・・(知らなかった(´;ω;`)ブワッ

nvm = Node Version Manager

ということでそれの使い方を紹介します。

nvmのリポジトリページに英語ですが使い方が載っています。

① インストール

$ wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.7.0/install.sh | sh

② 更新

$ source ~/.nvm/nvm.sh

③ ちゃんとインストールされたか確認をしましょう。

$ nvm -v

④ 特定Node.jsのインストール

$ nvm install v0.10.20

上記にある通り、nvmを用いてNode.jsをインストールするのが一般的だそうです。 世の中には、知らないことばかりだなー!