はじめに
この記事では、Windows Subsystem for Linux (WSL) にnodenvをインストールする手順を紹介します。
注意事項と補足
本記事は2024/09/04時点の情報です。インストール方法については公式手順も合わせて確認ください。
以前以下の投稿でMac環境でのnodenvのインストールについて紹介しました。
コマンドに関して下記で記載していますので割愛します。必要に応じて参考にしてください。
7rikazhexde-techlog.hatenablog.com
システムの更新
まず、システムを最新の状態に更新します。
sudo apt update && sudo apt upgrade -y
nodenvのインストール
インストール方法としてシェルスクリプトによる自動実行と手動実行がありますが、個人的には工程が複雑ではないことと、プラグインの追加が一部のみであるため手動実行によるインストールで対応するのが良いと思います。
自動実行の場合
公式のリポジトリにインストーラー用のシェルスクリプトとしてnodenv-installerが公開されています。
nodenvのインストールでは、HomebrewとGitの両方のインストール方法をサポートしています。システムに応じて自動的に選択されます。
実行後はユーザーによるnodenv initの実行が必要です。簡略化したい場合は~/.bashrcに追加して再起動する必要があります。
また、nodenv-installerでは、プラグインとしてnode-buildのインストールのみサポートしているため、nodenv-updateとnodenv-package-rehashをインストールする場合は手動追加が必要です。
手動実行の場合
nodenvをクローンしてビルドします。
git clone https://github.com/nodenv/nodenv.git ~/.nodenv cd ~/.nodenv && src/configure && make -C src
環境変数を設定します。
echo 'export PATH="$HOME/.nodenv/bin:$PATH"' >> ~/.bashrc # nodenv初期化スクリプト echo 'eval "$(nodenv init -)"' >> ~/.bashrc
<補足>nodenv初期化スクリプトについて
nodenvの初期化スクリプトは以下の処理を実行します。(コミットハッシュ:a0089384b7c4e8fba66ebb90dad255311e49f44e時点)
- 引数の解析と処理モードの設定
- 現在のシェルの検出
- 適切なプロファイル設定ファイルの提案
- nodenvのディレクトリ構造の確認
- PATH環境変数の設定
- NODENV_SHELL環境変数の設定
- シェル補完スクリプトのソース
- rehashコマンドの実行
- nodenv関数の定義
- シェル固有の処理(Fish用の特別な関数定義など)
プラグインのインストール
nodenvの機能を拡張するために、以下の重要なプラグインをインストールします。
node-build
node-buildは、異なるバージョンのNode.jsをインストールするためのプラグインです。このプラグインにより、nodenv installコマンドを使用して、特定のバージョンのNode.jsを簡単にインストールできるようになります。また、新しいNode.jsバージョンがリリースされた際の更新も容易になります。
mkdir -p "$(nodenv root)"/plugins git clone https://github.com/nodenv/node-build.git "$(nodenv root)"/plugins/node-build exec $SHELL
nodenv-update
nodenv-updateは、nodenvとそのプラグインを最新の状態に保つためのプラグインです。nodenv updateコマンドを実行するだけで、nodenvとインストールされているすべてのプラグインが自動的に最新バージョンに更新されます。これにより、nodenv環境の管理が大幅に簡素化されます。
git clone https://github.com/nodenv/nodenv-update.git "$(nodenv root)"/plugins/nodenv-update
nodenv-package-rehash
nodenv-package-rehashは、npm経由でグローバルパッケージをインストールする際に自動的にrehashを実行するプラグインです。通常、新しいパッケージをインストールした後には手動でnodenv rehashを実行する必要がありますが、このプラグインを使用すると、その作業が自動化されます。これにより、新しくインストールしたパッケージをすぐに使用できるようになります。
git clone https://github.com/nodenv/nodenv-package-rehash.git "$(nodenv root)"/plugins/nodenv-package-rehash sed -i 's/eval "$(nodenv init -)"/eval "$(nodenv init - --no-rehash)"/' ~/.bashrc nodenv package-hooks install --all
インストールの確認
nodenv doctorを実行してインストールを確認します。
curl -fsSL https://github.com/nodenv/nodenv-installer/raw/HEAD/bin/nodenv-doctor | bash
出力例
以下のように出力されればインストールは成功です。
Checking for `nodenv' in PATH: $HOME/.nodenv/bin/nodenv Checking for nodenv shims in PATH: OK Checking `nodenv install' support: $HOME/.nodenv/plugins/node-build/bin/nodenv-install (node-build 5.3.10-2-ga74bef73) Counting installed Node versions: 1 versions Auditing installed plugins: OK
以上です。