npmでパッケージインストール時に、依存パッケージが見つからないというエラーを回避する
npmでパッケージをインストールしている際に、依存パッケージが見つからずにエラーになってしまうことがあります。
次の例では、generator-marionetteパッケージをインストールしている際に、colorsパッケージのバージョン0.3.0がインストールできずにエラーになっています。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
cond@derby:marionette-x$ npm install generator-marionette
npm http GET https://registry.npmjs.org/generator-marionette
npm http 200 https://registry.npmjs.org/generator-marionette
npm http GET https://registry.npmjs.org/generator-marionette/-/generator-marionette-0.1.5.tgz
npm http 200 https://registry.npmjs.org/generator-marionette/-/generator-marionette-0.1.5.tgz
npm http GET https://registry.npmjs.org/generator-buster
npm http GET https://registry.npmjs.org/underscore.string
......
npm http GET http://packages:5984/colors/-/colors-0.3.0.tgz
npm ERR! fetch failed http://packages:5984/colors/-/colors-0.3.0.tgz
npm ERR! network getaddrinfo ENOTFOUND
npm ERR! network This is most likely not a problem with npm itself
npm ERR! network and is related to network connectivity.
npm ERR! network In most cases you are behind a proxy or have bad network settings.
npm ERR! network
npm ERR! network If you are behind a proxy, please make sure that the
npm ERR! network 'proxy' config is set properly. See: 'npm help config'
npm ERR! System Linux 3.2.0-58-generic
npm ERR! command "/home/cond/nvm/v0.10.25/bin/node" "/home/cond/nvm/v0.10.25/bin/npm" "install" "generator-marionette"
npm ERR! cwd /home/cond/tmp/marionette-x
npm ERR! node -v v0.10.25
npm ERR! npm -v 1.3.24
npm ERR! syscall getaddrinfo
npm ERR! code ENOTFOUND
npm ERR! errno ENOTFOUND
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /home/cond/tmp/marionette-x/npm-debug.log
npm ERR! not ok code 0
cond@derby:marionette-x$
これは、リポジトリ(?)に記録されているcolorsパッケージのURLのホスト名が間違っているのが原因です。
対症療法ですが、あらかじめ単独でcolors@0.3.0をインストールしておけば、問題なくインストールできます。
具体的には、11行目に示されているURL
の「packages:5984」という部分を「registry.npmjs.org」に置き換えたURLを指定して、npm installを実行します。
つまり、コマンド
を実行すれば、colorパッケージのバージョン0.3.0がインストールされます。
これでcolors@0.3.0がインストールできました。もう1度次のコマンドを実行してやれば、今度は失敗せずにgenerator-marionetteパッケージがインストールされます。