Bash on Windowsでfirebase-toolsでインストール時にエラー
sudo npm install -g firebase-tools
実行時にCERT_UNTRUSTED(証明書エラー)が発生
結論
nパッケージを入れて、最新版npmを入れると成功した。
npmが古くて、証明書の確認フローのどこかでダメになっていた模様。
過程(ぼんやりした部分が多いので、参考程度に見てください)
1. しばらく触っていなかったので、ubuntu内で持っている証明書が古くなっている?
sudo apt-get upgrade ca-certificates
ubuntu(OS)のもっている証明書の更新?
→更新はされたがエラー発生状況変わらず。
2. 闇雲にapt-get upgradeを実行(本当はダメな気がする)
ubuntu-minimal(ubuntuのカーネル?)が更新保留となっている。
→そもそもubuntuのバージョンアップもしないといけない?
3. apt-get dist-upgrade(カーネルのupgradeを実行)
sudo apt-get dist-upgrade
実行するとubuntu-minimalの更新はできた。
→証明書を触ったわけではないので当然状況変わらず
4. npmのバージョンを確認。(手順2でupgradeは済んでいる)
npm -v
npmのバージョンが1.3ぐらいになっていた。
→公式確認すると現行最新は6.5.0っぽい。apt-getで取得してくるnpmでは最新が落ちてこない模様。
5. しばらくググっているとnpmでnパッケージというものを使えるらしいことが判明
参考:https://qiita.com/seibe/items/36cef7df85fe2cefa3ea
rubyでいうところのrbenv?nパッケージ経由でnpmを入れれば最新を入れられる模様。
現状入っているnpm経由でinstallするらしいのでコマンド実行
sudo npm install -g n
sudo n stable
→無事npm バージョン6.5.0に更新
6. firebase-toolsのインストール
sudo npm install -g firebase-tools
→成功
まとめ
npm自体がルート証明書を持っていてそれが古かった?(期限切れ?)のか、証明書の確認処理が古かったのか結局わからず仕舞いですが、そのあたりでエラーになったのだと思います。
firebaseでちょこっと遊ぶつもりが色々と遠回りしてしまいました。。。
深堀りできていないところが多々あるので、いずれ追います。
そして大変雑な記事ですみません。