よっし、Serveするぞー

古いPCの中に昔Firebaseで作ったWebアプリのファイルがあったんですよ。
というわけでプロジェクトのチェックして、コードちょっと修正して実行したんですよ。
$ firebase serve
すると.......
Error: An unexpected error has occurred.




はあ?

解決していこう

まあ、その、今でも未熟なんですけど.......昔は解説サイト見ながらコード書いてた時期がありまして........結構色んなところ書き換えましたが、普通に動作していた記憶しかありません。
というわけでその参考にしたサイト通りにパパッとリメイク。
流石google、今でも更新されてました。



Error: An unexpected error has occurred.
いやこれ絶対Firebase側のバグだろ.......と思いgithubのissueを立てたら
「バージョンアップしてますか?」との返答が.........あっ(察し)
昔はnとか使ってませんでしたからねー、仕方ないねー、pkgでの配信はストップするべき(謎)

とりあえず今のnode.jsを削除ぉ!

excute_this.command
lsbom -f -l -s -pf /var/db/receipts/org.nodejs.node.pkg.bom \
| while read i; do
  sudo rm /usr/local/${i}
done
sudo rm -rf /usr/local/lib/node \
     /usr/local/lib/node_modules \
     /var/db/receipts/org.nodejs.*

https://qiita.com/yoshikoba/items/4906829faaaae8c73e56
(参考にさせていただきました、ありがとうございます)
これ何ですけど、上の方(done)は動きませんでした。
can't open /var/db/receipts/org.nodejs.node.pkg.bom: No such file or directory
というわけで私の方でも/var/db/receipts/覗いてみました。

nodeって名前のついてるファイルが一個もない!?


つまりアレです、恐らく昔の私がなんかやって消し飛んでたんでしょう(適当)
というかないならないでいいんです。続きやっていきましょう。
sudo rm -rf ~/.npm
これでnpmを消して.......npmと入力しても何も起きませんね。
まあ、確認程度にnodeと入力すると

対話環境起動したんですけど.......


仕方ありません。/usr/local/binからnode消しましょう。
(私は念の為/usr/localの中からnodeに関係ありそうなものを削除しました、でもこれよく考えるとnodeって名前の他のものに影響与える可能性あるのでちゃんとチェックしてから行いましょう。)

さあ、nodebrewで再インストールだ!

Homebrewでそのまま使おうかと思ったんですけど......せっかくなのでnodebrew使ってみます。
$ brew install nodebrew
してから
.bash_profileにVimなり何なりお好みのエディタで
export PATH=$HOME/.nodebrew/current/bin:$PATHと書き込んで
$ source ~/.bash_profileで反映させて
$ nodebrew -vでチェック
$ nodebrew ls-remoteで最新バージョンをチェック
10.0.0が最新なのでインストールしていきましょう。
`$ nodebrew install-binary 10.0.0
とそこでエラーが出てきました。

error.look
mba:~ admin$ sudo nodebrew install-binary 10.0.0
Password:
Fetching: https://nodejs.org/dist/v10.0.0/node-v10.0.0-darwin-x64.tar.gz
Warning: Failed to create the file 
Warning: /Users/admin/.nodebrew/src/v10.0.0/node-v10.0.0-darwin-x64.tar.gz: No 
Warning: such file or directory

srcなんて無いだろ、書き込めるわけ無いだろと言われてますね。
https://qiita.com/yn01/items/d1fa10dbe4850f7cd693
ここを参考に
$ mkdir -p ~/.nodebrew/src
こうしてやればできます。あとはバージョンを選択して.....
$ nodebrew use v10.0.0
確認すれば
node -v
v10.0.0と返すはずです。ここからfirebase-toolsの再インストールも行なっていきます。
以下のコマンドを実行していってください
mkdir ~/.npm-global
npm config set prefix '~/.npm-global'
そして.bash_profileにこれを追加
export PATH=~/.npm-global/bin:$PATH
そしてまたコマンドを実行していく
source ~/.bash_profile
npm install -g firebase-tools
これで終わりです。

じゃあ、早速serve!

$ firebase serve
スクリーンショット 2018-05-04 11.13.56.png
キ、キキ、キタアアアアアア!!!!!!

最後に

よくよく思い出すとこの頃の私、多分sudo使ってたんですよね。
npmでインストールするときにsudoを使うとトンデモナイことになるので注意しましょう。
ただ、実験してみたところdeployはできたのでまあ......使えないことはないのかな?
よくわかりませんね。
CとかRustばっかりでWebとかSwiftとかやってないのが悩みなんですよね。
忘れたりはしないと思うんですけど.......今度はSwiftの記事でもあげようかな。

Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.