firebaseコマンドでcommand not foundが表示される時の恒久的な解決方法
はじめに
Qiita初めての投稿です。
解決できた事象があり、Qiitaの過去記事に同様の記事が見つからなかったので状況と解決方法を書き留めておこうと思います。
課題
ターミナルにおいて、firebaseインストール済みにも関わらず
$ firebase --version
$ firebase deploy
$ firebase login
など、firebaseコマンドを実行した際にzsh: command not found: firebase
が返ってきて実行できませんでした。
firebaseコマンド(npm)のPATHが通っていないことが原因です。
こちらの記事を参考に、
$ export PATH=$PATH:`npm bin -g`
をコマンド入力するとPATHが通り、firebaseコマンドを使用できるようになりますが、ターミナルを再起動するとまた同様の現象が発生します。
対症療法として都度上記コマンドを入力していたのですが、いい加減恒久的な解決を図ろうと思い本記事の執筆に至ります。
環境
macOS
.zsh
発生理由と解決方法
npmのPATHの設定がうまくいっていないことが原因で上記の現象が発生しています。
従って、.zshrcファイルにPATHを設定することで恒久的に解決することができます。
実際の操作
ホームディレクトリから操作します。
まずは前提条件の確認から行います。
$ firebase --version
firebaseはインストール済みですが、zsh: command not found: firebase
が返ってきます。
以下コマンドでfirebase(npm)のPATHが通っていないことが確認できます。
$ npm bin -g
/Users/${username}/.npm-global/bin
npm ERR! bin (not in PATH env variable)
ここでnpm binファイルの位置がわかります。
PATHを通すために.zshrcファイル(PATHを通すファイル)を開きます。
$ open .zshrc
.zshrcファイルの末尾にexport PATH=$PATH:(npm binファイルの位置)
を付け足します。
$ export PATH=$PATH:/Users/${username}/.npm-global/bin
.zshrcファイルが存在しないときは、
$ touch .zshcr
上記のコマンドで.zshrcファイルを作成し、同様に行います。
.zshrcファイルを保存してターミナルを再起動することで、ホームディレクトリよりfirebaseコマンドが使えるようになります!
firebaseコマンドに限らず、PATHが通らないときはこの手法を取ってみてください。
参考文献
Discussion