LoginSignup
2
1

More than 1 year has passed since last update.

【node】恐怖、いれたはずのnodeがない…

Last updated at Posted at 2022-05-28

起きたこと

node,nvm,npmをインストールし、使用できていたのに、ある日急にどのコマンドもないと言われた
「command not found」:sob:

確認したこと

ホームディレクトリ直下にてファイルの一覧を表示(実行結果は省略して一部のみ表示)

ターミナル
xxx@DESKTOP-5QEHRDB:~$ ls -lah
drwxr-xr-x  5 xxx xxx 4.0K  5月  5 20:37 .nvm

フォルダは存在していた!

原因

PATH通ってなかった!

解決策

.bashrc.bash_profileにPATHを記述

.bashrc
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This loads nvm bash_completion

.bashrc.bash_profileどっちがいいの?

読み込みの流れとしては、.bash_profile.bashrcの順で読み込まれるので、どちらでもOK

:raising_hand:役割分担の考え方➀
.bash_profile:(ログイン時に一度だけ行えば良い)環境変数の定義担当
.bashrc:その他の対話的操作で必要な設定担当
→こうしたいなら、今回の設定は .bash_profileに書く

:raising_hand_tone1:役割分担の考え方➁
.bash_profile~/.profile.bashrc の読み込み担当
~/.profile:環境変数の定義担当
.bashrc:bash の対話的操作で必要なもの担当
→こうしたいなら、今回の設定は .bashrcに書く

このへんついて参考にした記事↓
図で整理できる方すごい…めちゃくちゃ助かります…:nose:
bash の初期化ファイル .profile, .bashrc, .bash_profile の使い分けと管理方針

それでもうまくいかないときは

bashの起動時に上記の設定が読まれていない可能性がある

一時的になんとかするなら、sourceコマンド(ファイルに書かれた内容をコマンドとして実行する)を実行

ターミナル
$ source ~/.bashrc

毎回↑これをやらないためには、.bash_profileに以下の設定を追加して、ターミナル起動のために.bashrcを読み込むように設定

.bash_profile
if [ -f ~/.bashrc ] ; then
. ~/.bashrc
fi

参考

入れたはずのnode.js や npmが見つからないとき
bashの編集

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1