書いてから気づいたけど、WSL特有の事情とか一切無いから、ただUbuntuでNode.js入れただけになっちゃった。
[ Windows 10 (64bit) / Ubuntu 18.04.4 LTS / anyenv 1.1.1 / Node.js v13.12.0 ]
Node.jsは anyenv
を使ってインストールする。今後バージョンを切り替えたくなると思うし、Pythonも入れるかもしれないから。
あと、以下の記事の影響で、ここでは anyenv
の設定を .bash_profile
じゃなくて .bashrc
に書く。なので anyenv
公式のインストール方法と少し違う。
anyenvをインストール
以下コマンドで anyenv
をインストール。
git clone https://github.com/anyenv/anyenv ~/.anyenv
echo 'export PATH="$HOME/.anyenv/bin:$PATH"' >> ~/.bashrc
~/.anyenv/bin/anyenv init
# Load anyenv automatically by adding # the following to ~/.bash_profile: eval "$(anyenv init -)"
~/.bash_profile
に eval "$(anyenv init -)"
を追記するよう言われる。
が、ここでは前述の通り ~/.bashrc
に追記して、シェルを再起動。
echo 'eval "$(anyenv init -)"' >> ~/.bashrc
exec $SHELL -l
ANYENV_DEFINITION_ROOT(/home/napoporitataso/.config/anyenv/anyenv-install) doesn't exist. You can initialize it by: > anyenv install --init
言われた通り、anyenv install --init
を実行する。
anyenv install --init
Manifest directory doesn't exist: /home/napoporitataso/.config/anyenv/anyenv-install Do you want to checkout ? [y/N]: y # 入力 Cloning https://github.com/anyenv/anyenv-install.git master to /home/napoporitataso/.config/anyenv/anyenv-install... Cloning into '/home/napoporitataso/.config/anyenv/anyenv-install'... remote: Enumerating objects: 48, done. remote: Total 48 (delta 0), reused 0 (delta 0), pack-reused 48 Unpacking objects: 100% (48/48), done. Completed!
終わったら、インストールできたか以下コマンドで確認。
anyenv -v
anyenv 1.1.1
nodenvをインストール
anyenv
を使って nodenv
をインストールする。
anyenv install nodenv
exec $SHELL -l
nodenv -v
nodenv 1.3.2+2.2578d8d
Node.jsをインストール
nodenv install --list
を叩いて、インストール可能なNode.jsのバージョンの一覧を見たところ、最新バージョンは 13.12.0 だった。
ここではそれを入れることにする。
nodenv install 13.12.0
Downloading node-v13.12.0-linux-x64.tar.gz... -> https://nodejs.org/dist/v13.12.0/node-v13.12.0-linux-x64.tar.gz Installing node-v13.12.0-linux-x64... Installed node-v13.12.0-linux-x64 to /home/napoporitataso/.anyenv/envs/nodenv/versions/13.12.0 nodenv: default-packages file not found
……と思ったら、何か言われた。default-packages
ファイルが無いらしい。
下記の記事によると、nodenv
のルートフォルダに default-packages
というファイルを置いて、中に任意のパッケージ名を書いておくと、nodenv install
でNode.jsをインストールした時に一緒にグローバルインストールしてくれるらしい。
複数のNode.jsを使い分けてて yarn
を使う人とかは、これを活用してるようだ。
自分は特に初期インストールしたいものは無いので、ここでは以下コマンドでカラのファイルを作成するだけ。
touch $(nodenv root)/default-packages
nodenv root
は、nodenv
のルートフォルダのパスを出力できるコマンド。
……
それで肝心のNode.jsの方だけど、試しに nodenv versions
を叩いてみたら 13.12.0 と表示された。インストール自体は成功していたらしい。
nodenv global
で、グローバルのバージョンを 13.12.0 に設定する。
nodenv global 13.12.0
exec $SHELL -l
ここまでやったら、node
コマンドと npm
コマンドが使えるようになったか確認する。
node -v
npm -v
v13.12.0 6.14.4
これでNode.jsのインストールは完了。
.bashrc
に設定を書いてるので、シェルスクリプト内でも同様に node
npm
コマンドが使えるはず。
更に新しいNode.jsをインストールしたくなったら
ここからは追記。この記事の手順で作った環境をしばらく使っていて、もっと新しいNode.jsをインストールしたくなったので。
nodenv install --list
で出てくるNode.jsのインストール可能なバージョンのリストは anyenv
を更新しないと更新されない。以下の記事を参考に anyenv-update
を導入して更新する。
mkdir -p $(anyenv root)/plugins
git clone https://github.com/znz/anyenv-update.git $(anyenv root)/plugins/anyenv-update
anyenv update
そしたら nodenv install --list
で新しいバージョンを確認。
ここでは 16.14.0 にバージョンアップすることにした。以下コマンドで新しいバージョンをインストールして切り替え。
nodenv install 16.14.0
nodenv global 16.14.0
exec $SHELL -l
完了したら以下コマンドでバージョン確認。
node -v
v16.14.0
以上。