npm install やったらエラー出てできんかったっていう話
ざっくりまとめ。
npm install -g firebase-tools
でエラーがでる- package.json が開けないとかなんとか
- npm を 6.5.0 にしたからっぽい
- npm を一つ前の 6.4.1 にダウングレードしたらおk
です。
環境
- node v8.9.1
- npm v6.5.0
- macOS HighSierra
問題
Firebase Hostingを使おうと思いドキュメントを読んでいたのですが、
なにはともあれ、とりあえず firebase-tools をいれろとあったので
$ npm install -g firebase-tools
でインストールしようとしたところ、
すごくたくさんの warning が出ながら進んでいって
(node_module/.staging/なんちゃら
というのが開けないというのがたくさん)
最終的にエラーが出て終わってしまい、インストールが出来なかったのです。
npm ERR! path /private/tmp/npm-5957-61b5da95/unpack-cf87652f/node_modules/run-queue/package.json
npm ERR! code ENOENT
npm ERR! errno -2
npm ERR! syscall open
npm ERR! enoent ENOENT: no such file or directory, open '/private/tmp/npm-5957-61b5da95/unpack-cf87652f/node_modules/run-queue/package.json'
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent
...firebase側の問題?🤔
原因
ググってみてると以下のページの問題が同じ問題っぽいです。
勝手に Firebase 側の問題かと思っていたけれど、
どうやら npm 側?の問題なのか...あるいは何かかわってモジュール側で対応する必要があるのかもしれない
なんにせよ最新の v6.5.0 だとエラーがでてしまってできない。
(npm のバージョンだけじゃなくて他に環境的要因がありそうだけれど)
対策
さきのページに書いてあるとおり..
npm のバージョンをダウングレードするです
自分でやった感じだと書かれてあるとおり一つ前のバージョンで大丈夫でした。
ちょっとした罠(?)
しょうがない、ダウングレードするぞ!っていうことで、
$ npm install -g [email protected]
と叩きました。。
当たり前ですが、失敗します。
install -g
が出来ないっていってるんだから当然なんですけど😇
と、いうことで、直接フォルダを消したりして入れ直しました。
/usr/local/lib/node_modules/
配下に npm っていうのがいるので、これと
ここから対象のバージョンを落としてきて差し替えるだけです。
これで無事に(?もっとちゃんとした方法がありそうだけれど)6.4.1 にすることができて、
firebase-tools も入れることが出来ました!
ということで、似たような現状がでていて、npm のバージョンが 6.5.0 の方は参考にしてみてください〜!