あるあるなのかよくわからないですが、npmで落としたnode_moduleが見つからないことがあったりします。 今回の対処方法をハックに残しておきます。
問題の発端
以下のように公式通りにコマンドを叩いて、firebase にログインしようとした。
$ npm i -g firebase-tools $ firebase login
けど、ログイン出来ないじゃん。。。
$ firebase login -bash: firebase: command not found
解決方法
まず、どこに落とされているかを確認。とりあえず、以下のコマンドでnpmがモジュールを落としている場所とモジュールがどこに落ちているか確認。
$ npm bin -g /usr/local/bin/ $ which module_name /usr/local/bin/module_name
Homebrew系で恐らく殆どの人はnodeをインストールすると思うので、これが以上のように基本的には/usr/local/binの下にもろもろ置かれるはず。。。自分の場合は、npm bin -g が自分の意図しない所にパスが通っていた。その原因は、npmのprefixの値だった。 以下で、確認できる。
$ npm -g prefix /usr/local/Cellar/......
よって、以下のようにprefixを書き換えた。
$ npm set prefix "/usr/local"
こうしたあとで再度インストールし直すことで、ちゃんとパスが通るようになった。