はじめに
タイトルのようなエラーがでてパッケージのinstallに失敗したものの
設定を変えるでもなくもう1回やったら成功してしまったという話。
nodeはv6.9.1
npmは3.10.8
です。
類似事例
似た事例が別パッケージで報告されていて
generator wont install #15
どうもunicodeパッケージ内のファイルが取得できてない
One workaround If you're using a unix based system is to create the path /usr/share/unicode/ and download this file -> http://unicode.org/Public/UNIDATA/UnicodeData.txt into it.
後述しますが、素直にこの通り作業すれば解決するのですが
この一文を読んだ時、環境依存やパッケージのバグを場当たり修正しているような印象を受けて
(私の勘違いなのですが)
こういう対応したくないな、どうしようかなと悩みつつ
もう1回エラー出力を見てみようと思い
なんとなくもう一回installを試みたところ
以下のようにinstallに成功しました。
結論としては一時的に一部ファイルの配布元に接続しづらかったのが理由でした。
再度installした時の出力
try to read file /usr/share/unicode/UnicodeData.txt …
を何度も繰り返し
何度かリトライした後
GET unicode.org:80/Public/UNIDATA/UnicodeData.txt
fetching …
となっています。
> unicode@0.6.1 postinstall /path/to/repos/node_modules/unicode
> node install.js
try to read file /usr/share/unicode/UnicodeData.txt …
/usr/share/unicode/UnicodeData.txt not found.
try to read file /usr/share/unicode-data/UnicodeData.txt …
/usr/share/unicode-data/UnicodeData.txt not found.
try to read file UnicodeData.txt …
UnicodeData.txt not found.
try to download …
GET unicode.org:80/Public/UNIDATA/UnicodeData.txt
fetching …
saving data as Cc.js …
saving data as Zs.js …
saving data as Po.js …
saving data as Sc.js …
saving data as Ps.js …
saving data as Pe.js …
saving data as Sm.js …
saving data as Pd.js …
saving data as Nd.js …
saving data as Lu.js …
saving data as Sk.js …
saving data as Pc.js …
saving data as Ll.js …
saving data as So.js …
saving data as Lo.js …
saving data as Pi.js …
saving data as Cf.js …
saving data as No.js …
saving data as Pf.js …
saving data as Lt.js …
saving data as Lm.js …
saving data as Mn.js …
saving data as Me.js …
saving data as Mc.js …
saving data as Nl.js …
saving data as Zl.js …
saving data as Zp.js …
saving data as Cs.js …
saving data as Co.js …
done.
原因のinstall.jsを読んで見る
見たまんまですね。。。
しかも
If you have problems installing UnicodeData.txt because unicode.org is down or you're behind a proxy, try installing unicode-data via your system package installer.
If you got the file already at hand you can specify the path to it in the environment varialbe NODE_UNICODETABLE_UNICODEDATA_TXT.
ちゃんと書いてあるし。
最後に
そもそも
npm-debug.log
に手がかりがあったはずなんですが、見る前に消してしまったのが悔やまれます。。。
また、落ち着いてinstallに失敗したパッケージについて調べればなんてことはないという話ですが、同じエラーに遭遇した人の役に立てば。