こんにちは、ウチイダです。
PCをセットアップするときにいつも調べている、nodeの環境構築。
そろそろ打ち止めにしたいので、メモリークリップに書き留めておきます。
今回の手順は、以下の環境で動作させました。
- Windwos 11 Pro (21H2 ビルド 22000.194)
- WSL カーネル バージョン: 5.10.60.1-microsoft-standard-WSL2
- Windows Terminal バージョン: 1.10.2714.0
- Ubuntu バージョン: 20.04.3 LTS (Focal Fossa)
nodenv installerを使うのがおすすめ
併せてanyenvを使う方法とか、homebrew経由でインストールする方法などが紹介されているサイトも多いですが、とにかく最短でnodeのマルチバージョン環境を整えたいのであれば、nodenv installerを利用するのが良いです。
必要に応じて、各種言語の管理ツールを入れるので良いかなーと思っています。
nodenv の公式リポジトリでも紹介されています。
https://github.com/nodenv/nodenv-installer#nodenv-installer
1. nodenv installer を実行する
使い方はとても簡単で、スクリプトをダウンロードしてきて、実行するだけです。
nodenv installerのgithubのREADMEでは、curlを使ったサンプルコマンドが紹介されているので、それの通りに実行します。
$ curl -fsSL https://raw.githubusercontent.com/nodenv/nodenv-installer/master/bin/nodenv-installer | bash
Installing nodenv with git...
Initialized empty Git repository in /home/y-uchiida/.nodenv/.git/
# ...(中略)...
Running doctor script to verify installation...
Checking for `nodenv' in PATH: /home/y-uchiida/.nodenv/bin/nodenv
Checking for nodenv shims in PATH: OK
Checking `nodenv install' support: /home/y-uchiida/.nodenv/plugins/node-build/bin/nodenv-install (node-build 4.9.59)
Counting installed Node versions: none
There aren't any Node versions installed under `/home/y-uchiida/.nodenv/versions'.
You can install Node versions like so: nodenv install 2.2.4
Auditing installed plugins: OK
All done!
Note that this installer doesn't yet configure your shell startup files:
1. You'll want to ensure that `~/.nodenv/bin' is added to PATH.
2. Run `nodenv init' to see instructions how to configure nodenv for your shell.
3. Launch a new terminal window to verify that the configuration is correct.
# nodenvがインストールできているか、バージョンを確認
$ /home/y-uchiida/.nodenv/bin/nodenv -v
nodenv 1.4.0+3.631d0b6
「All done」の表示が出たら、nodenvのインストールは完了です。
2. nodenvのインストールディレクトリにパスを通す
nodenv installerは、パスの追加までは行わないので、パスの追加を行います。
Ubuntuの初期設定であれば、ログインシェルはbashになっていると思いますので、ホームディレクトリの.bashrcの末尾に、以下を追記します。
# nodenv のインストールディレクトリをPATHに追記
export PATH="$HOME/.nodenv/bin:$PATH"
# nodenvを動作させるための設定を実行
eval "$(nodenv init -)"
追記が終わったら、bashを立ち上げなおすか、sourceコマンドで変更を反映します。
$ source ~/.bashrc
# コマンド名だけでバージョン確認できたら、パスの追加は完了
$ node -v
nodenv 1.4.0+3.631d0b6
3. node のインストール
nodenvがインストールできたので、nodeをインストールします。
とりあえずLTSの最新版を入れてみます。
LTSのバージョン情報は、下記のNode.js公式サイトのトップに書いてあるので、それを見るのが早いです。
2,021年10月現在だと、ちょうどv14系からv16系に安定板が切り替わるタイミングです。
https://nodejs.org/ja/about/releases/
10月26日からがv16のLTSのスタートなので、ちょっと早いですが(執筆時点では10月14日です)、v16を入れておくことにします。
# nodenvで、最新版をインストール(公式サイトでバージョン番号を確認してください)
$ nodenv install 16.11.1
Downloading node-v16.11.1-linux-x64.tar.gz...
-> https://nodejs.org/dist/v16.11.1/node-v16.11.1-linux-x64.tar.gz
Installing node-v16.11.1-linux-x64...
Installed node-v16.11.1-linux-x64 to /home/y-uchiida/.nodenv/versions/16.11.1
# インストールしたバージョンを、システム全体で利用するように設定
$ nodenv global 16.11.1
# 設定できたか、バージョンを確認
$ node -v
v16.11.1
nodeがインストールできていれば、npmも入っています。
ちょっとした開発や検証なら、ここまでの設定で不自由することはないと思います。
バージョンを分けて管理したい場合は、nodenv local コマンドで、動作させるバージョンを切り替えてください。
もっと本格的に使うのであれば、Dockerなどを使って環境を分離することをお勧めします。
アンインストール
ホームディレクトリ内に追加されている「.nodenv」ディレクトリに関連データが入っていますので、それを削除すればOKです。
# nodenv のアンインストール、削除
$ rm -r ~/.nodenv
.nodenvディレクトリを削除すると、今までインストールしたnodeのバージョンとか設定とか全部まとめて消えてしまいます。
必要に応じてバックアップをしてください!
まとめと余談
以上でnodejs/nodenvの環境構築は完了です。
検索結果の上位に出てくる方法は、brewをインストールしたり、anyenvの中のnodenvを使うような網羅的な方法が出てくることが多いように思います。
ちょっとnodeのバージョン管理がしたいだけなのに手間が多いな~と思っていたので、シンプルな方法をまとめました。
ここからバリバリ開発していきましょう!
ちなみに、ウチイダは過去にanyenvをWSL Ubuntuで利用していて、起動がとても遅くなった経験をしたことがあります。
最近では、本格的に開発をする場合Dockerに環境を用意することが多いのではないでしょうか。
そのため、anyenvでまとめて管理しないといけないほど、WSL上で直接いろいろな言語の開発環境が必要になることは少ないと思っています。
起動時間のことなどもかんがみて、ホスト側(厳密には、WSLはホストじゃないですが…)の環境はシンプルに保っておきたいです。
以上です。あなたのお役に立てればうれしいです。