Mac
Node.js
MacOSX
npm

npm installが失敗した時に試したい3つのコマンド

More than 3 years have passed since last update.


概要

Nodeのmoduleと、それらの依存関係にあるmoduleをインストールするためのnpmですが、

よくつまづいてエラーを吐き出します。(私だけ?

とりあえずサクッと解決したいときに、もしかしたら役に立つコマンドを覚書きしておこうと思います。


対策

1. ulimit -n 2048

これで対策になるかわからないけど、よく見るエラーとしては以下

- unpack Could not read data for...

- Cannot read property 'dependencies' of undefined

npmのissueで上がってるけど、解決までいってないっぽい?

こっちでも上がってるけど、ulimitを上げてあげると直る場合があるらしい。

これはMac特有の問題っぽくて、MacOS 10.10.3+だとデフォルトのファイルディスクリプタ数が256なのが関係している?

cf.

npm issue#7947github.com

npm issue#8166@github.com

npm issue#7242@github.com

2. rm -rf node_modules/ && npm cache clean && npm install

npm installが途中で止まったりすると、中途半端に終ったままなのに

完了したと思われてインストールできなくなるかも。

あとはnpmのキャッシュも念のため消しておく。

一度試してみると、すんなり行くことがある。

3. npm update -g npm

npmでインストールに失敗した時にググるとたまに引っかかるやつ。

たぶん、自分が使ってるnpmと他の人やプロジェクトで使ってるnpm(というよりnpmで入れたいmodule)のバージョンが合わなくて起きる。


おまけ

sudo npm install

sudoのつけ忘れ。

意外とやってしまうけど、だいたいpermission deniedって出てるから気づきやすい。


おわりに

一番やっちゃうのがsudoつけ忘れだったりする :worried:

大体のmoduleはsudoいらないんだけど、時々ないといけないのが混ざってたりする…

これは毎回つけてしまえばいい気もしてる(意識低い

大体調べて解決できるんですけど、原因がイマイチわからずじまいなことが多くて

良くないなと思う最近です :disappointed:

とはいえ時間もないことだし、「とりあえず解決すればいい」

という時にどこかにまとまってると良いなと思ってまとめました。

少しでもお役に立てたら嬉しいです :relieved: