ターミナルにて firebase login と入力すると command not found 。
npm -v と入力しても command not found 。
gulp -v と入力。これも command not found 。
command not found の原因はパスだということは理解していましたが、
- echo $PATH で表示されるパスの内容が私の場合何か変(おそらくハマった時にいじりまくった)
- 永続的に環境変数が保存されるbash_profileを触るのが怖い
という理由から、その場だけ反映されるexport文をターミナルに入力してその場をしのいでいました。
でも、そろそろめんどくさい。設定をきちんとしたい。
ということで、ちょっと不安ながら bash_profile なるものを編集してみましたのでそのメモです。
まずはbash_profileがあるか確認
bash_profileがどこにあるのかもいまいちわかってない状態だったのですが、ターミナルを立ち上げたそのままの状態で(ディレクトリを移動せず)
と入力。
するとずらっと.付きファイルが表示されます。.bash_profileは大事なファイルなので普通にlsしただけだと表示されない模様。
あった。
もしbash_profileが無い場合は自分で作る必要があるそうです。
bash_profileを開いて追記
では次にbash_profileを開きます。
ターミナルに
と入力。
すると小さい字で読み取り専用で開くか編集するか・・・などなどと聞かれるので、キーボードのEを押して編集モードで開く。
キーボードのIを押すと下の方に赤字でINSERTと表示されるので、その状態なら書き込み・編集が行えます。
環境によってデフォルトの内容は違うと思いますが、私の場合は上にちょろっと if… fi と3行ほど書かれていただけで、あとは謎の余白地帯でした。
↓キーでカーソルをfiの下に持って行って、
必要なパスを入力。
1行目の
は、nodebrewでNode.jsをインストールした後で npm -vと入れてもcommand not found だったので、そのためのパス。
$HOME というのはよくわからないけど大事そうなので、1行目に追記してみました。
2行目の
はローカルにインストールしたgulpがcommand not found で、原因はどうやらインストールされてるnode_modulesへのパスが通ってないからだそうな。
なのでそのためのパス。
新規追加のときと同じように編集モードで開いてIを押してINSERT可能にする→不必要な行を削除 or #でコメントアウト
bash_profileを保存・終了する
上記サイト様を主に参考にさせていただきました。ありがとうございます。
必要な情報を入力したら、
で入力内容が保存されて、通常のターミナルの画面に戻ります。
再起動してターミナルで
を入力してみると、ちゃんと反映されています。
ターミナルを閉じずに反映させるなら
とする。
それでもパスがおかしい場合
私の場合ですが、上記のように修正しても、$PATHで表示される内容はどうもおかしい。(同じパスが2回出てくる・ネットで乗ってるよくあるデフォルトのパスより長い、と行った症状。)
どうやらこれは、以前環境変数のことでハマった時に知らず知らずに.bashrcファイルに書き込みを行なっていたのが原因だったようです。。
なので、
でファイルを開き、Iを押して編集モードに。
該当の行をコメントアウト・または削除し、escを押してからの :wq で保存&終了処理をして完了・・・。
ターミナルを再度立ち上げてecho $PATHをすると、ちゃんときれいなパスに戻っていました〜疲れた〜