5
3

More than 1 year has passed since last update.

Ubuntu上でnodenvをインストール、任意のバージョンを有効化

Last updated at Posted at 2020-09-27

前提

Ubuntu Server (今回のバージョンは22.04)を標準で(minimalではない)インストールした環境

事前に必要なパッケージをインストール

sudo apt install build-essential

nodenvを取得

参考 : https://github.com/nodenv/nodenv#basic-github-checkout

git clone https://github.com/nodenv/nodenv.git ~/.nodenv
cd ~/.nodenv && src/configure && make -C src

環境変数を設定

上記サイトで

2.Add ~/.nodenv/bin to your $PATH for access to the nodenv command-line utility.
  ・・・
  For Ubuntu Desktop and Windows Subsystem for Linux (WSL):
    $ echo 'export PATH="$HOME/.nodenv/bin:$PATH"' >> ~/.bashrc

と説明されているので、

/bin/cp -a ~/.bashrc ~/.bashrc.`date '+%Y%m%d-%H%M%S'`.bk
echo 'export PATH="$HOME/.nodenv/bin:$PATH"' >> ~/.bashrc

として、.bashrcのファイル上で、PATHに追記します。
※インストールする先の環境に応じて、上記サイトの説明に従って設定しましょう。

~/.nodenv/bin/nodenv init

を実行すると、

# Load nodenv automatically by appending
# the following to ~/.bash_profile:

eval "$(nodenv init -)"

のように表示されるので、eval "$(nodenv init -)".bashrcの末尾(先程のPATHの設定の次)に追記します。
※こちらもインストールする先の環境に応じて、設定するファイルを決めましょう。

SSHでログインし直す

SSHで一度ログアウトし、ログインし直します。
※~/.bashrcの変更を反映するため

プラグインをインストール

mkdir -p "$(nodenv root)"/plugins
git clone https://github.com/nodenv/node-build.git "$(nodenv root)"/plugins/node-build
git clone https://github.com/nodenv/nodenv-update.git "$(nodenv root)"/plugins/nodenv-update

nodeの環境を作成、有効化

nodenv install --list

を実行すると、インストール可能なバージョンの一覧が表示されます。
数字から始まるバージョンにだけ絞る場合は、grepを使って以下のように絞ります。

nodenv install --list | grep -E "^ *[0-9]+.+$"
・
・
・
18.7.0
18.8.0
18.9.0

ここでは、最新のバージョンをインストール
※2022.09.13時点では、18.9.0

nodenv install 18.9.0
nodenv versions

を実行し、インストールされたバージョンが表示されることを確認します。

先程インストールしたバージョンを有効にします。

nodenv shell 18.9.0

特に何か表示されるわけではないので、

node -v

を実行し、先程有効化したバージョンが正しく表示されることを確認します。

v18.9.0

システムごとに独立した環境を作成

nodenvでは、pyenv-virtualenvやvenvのように、ひとつのバージョンをもとにして__仮想環境を複数作成する機能はない__ようです。
しかし、Node.jsでは、ローカルのモジュールをインストールすることができるので、__システムのディレクトリ内でローカルモジュールとしてインストール__することで、仮想環境はなくとも、システムごとに独立した環境として使うことができそうです。

5
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
3