AWS EC2でnode.jsのバージョンが原因で、上手くいかない...。
そんな時の対処方法を記しておきます。
準備
SSHを使用してEC2に接続します。
$ ssh ec2-user@255.255.255.255 -i .ssh/qiita-sample.pem
Last login: Wed Apr 20 20:13:54 2022 from qiita-sample.com
__| __|_ )
_| ( / Amazon Linux 2 AMI
___|\___|___|
https://aws.amazon.com/amazon-linux-2/
19 package(s) needed for security, out of 33 available
Run "sudo yum update" to apply all updates.
nvmはnode.jsのバージョン管理ツールです。
$ nvm --version
$ nvm 0.34.0
nvmの使い方
現在、システムにインストールされている node.js のバージョンを確認します。
$ nvm ls
-> v17.7.0
default -> v17.7.0
node -> stable (-> v17.7.0) (default)
stable -> 17.7 (-> v17.7.0) (default)
lts/gallium -> v16.14.2 (-> N/A)
インストール可能なバージョンはnvm ls-remoteコマンドで確認できます。
$ nvm ls-remote
# インストール可能なnode.jsのバージョン一覧
~ 略 ~
v16.14.1 (LTS: Gallium)
v16.14.2 (Latest LTS: Gallium)
~ 略 ~
v17.9.0
v18.0.0
一覧からインストールしたいバージョンを選び、nvm install
でインストールします。
$ nvm install v16.14.2
インストールが終わると、自動的にインストールしたバージョンのnode.jsが使われるように設定されます。
$ node -v
v16.14.2
node.jsのバージョンを固定
ターミナルを再起動すると、元のバージョンに戻ってしまいます。
$ node -v
v17.7.0
nvm alias
を使い、デフォルトのバージョンを変えます。
$ nvm alias default v16.14.2
ターミナルを再起動すると、デフォルトのバージョンが変わります。
$ nvm ls
-> v16.14.2
v17.7.0
default -> v16.14.2
node -> stable (-> v17.7.0) (default)
stable -> 17.7 (-> v17.7.0) (default)
lts/gallium -> v16.14.2