“node command not found”エラー発生…Linuxでの解決策

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が認識されない問題の解決策でした。

Shareこの記事をシェアしよう!

Commentsこの記事についたコメント

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください