Linux/AWSにてNode.js環境を構築した時。
このようなエラーに遭遇しました。
どうしてかnodeがコマンドとして認識されません。
その解決に少しだけ苦戦してしまったので、
後学のためにLinux・AWSでの解決策を残します。
このページの目次 [隠す]
Linux(AWS)にnvm/nodeをインストールした
環境はAWS EC2インスタンスを用意し、
OSとしてAmazon Linuxを使ってました。
Node.js環境構築は次のqiitaを参考にしました。
▼ AWS EC2でNodeを動作させる
▼ nvm/npm/nodeなどをインストールした
詳細はqiita記事を見てください。
とても分かりやすく解説されてます。
再ログイン後に"node: command not found"発生
それで困ったのが再ログインした時です。
▼ nodeがコマンドとして認識されない…
先ほど .bash_profile に設定したからnvmコマンドは認識されます。ただnodeコマンドは再起動時に自動認識されませんでした。
前述のqiita記事はその手順が抜けてます。
.bash_profileからnodeのパスを通すが…
そしてググると次の解決策が一般的みたいです。
▼ 初めにnodeコマンドのパス調べる
▼ .bash_profileを編集する
▼ そこでPATHの定義を探す
このPATHはコロン区切りで区切られているので、 PATH=$PATH:$HOME/.local/bin:$HOME/bin:$HOME/.nvm/versions/node/v14.16.1/bin/node みたいに末尾にnodeパスを追加してあげてください。
▼ そのあと環境設定を反映させる
自分の環境はAmazon Linuxだったので、.bash_profileというログイン時に読み込まれる環境設定ファイルを編集しました。
.bash_profileが再起動後に反映されない…
上記の設定をして再ログインしたものの…
やっぱりnodeコマンドが認識されません。
パスは間違ってないのに何がダメだったのか…
この方法に見切りをつけて別の方法を探すことに
nvm alias の設定をしたら解決した!
そこで試したのがnvmでのデフォルトバージョンの設定
次のようなコマンドでデフォルト設定しました。
▼ nvm alias から設定可能
▼ そして再ログインしてnodeを叩くと…
無事nodeコマンドが認識されました!
.bash_profileでnodeバージョン指定でもOK
あと解決策としてはもう1つあります。
それは.bash_profileに以下を記述することです。
▼ 使用したいnvmでnodeバージョンを指定する
この方法は複数バージョンの切り替え時に便利かも
解決したのはいいけど、.bash_profileでパスが通らなかったのは何故なのか…そこは考えても分からないので、上記の代替策でどうにかしました。
どちらかの方法を使えば解決します。
以上、Linuxdでnodeが認識されない問題の解決策でした。