前提
この記事では以下を前提としています。
- Ubuntu 22.04
この記事のゴール
この記事では、Ubuntu でNode.js
、nvm
、pnpm
を実行できる環境を作り、Node.js
、nvm
、pnpm
のコマンドでそれぞれのバージョンを確認するところまでをゴールとします。
nvm、pnpm について
nvm は、Node Version Manager の略で、Node.js の異なるバージョンをインストールし、管理するためのツールです。 プロジェクト毎(ディレクトリ毎など)に異なる Node.js のバージョンを使いたい場合や、グローバルに使いたいバージョンを管理する場合に便利なツールです。
nvm-sh / nvm
nvm allows you to quickly install and use different versions of node via the command line.
github.com
pnpm
は、Node.js のパッケージ管理ツールで、npm
と比べて主にディスクスペースの効率化と高速化を目指して設計されています。
nvm をインストール
公式リポジトリにある手順で簡単にインストールできます。
まず以下を実行します。以下はcurl
コマンドを使用して必要なパッケージをダウンロードし、そのあとbash
コマンドで実行しています。
$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash
以下が実行結果です。
$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 15037 100 15037 0 0 38164 0 --:--:-- --:--:-- --:--:-- 38262
=> Downloading nvm from git to '/home/username/.nvm'
=> Cloning into '/home/username/.nvm'...
remote: Enumerating objects: 355, done.
remote: Counting objects: 100% (355/355), done.
remote: Compressing objects: 100% (302/302), done.
remote: Total 355 (delta 39), reused 169 (delta 28), pack-reused 0
Receiving objects: 100% (355/355), 216.09 KiB | 9.00 MiB/s, done.
Resolving deltas: 100% (39/39), done.
* (HEAD detached at FETCH_HEAD)
master
=> Compressing and cleaning up git repository
=> Appending nvm source string to /home/username/.bashrc
=> Appending bash_completion source string to /home/username/.bashrc
=> Close and reopen your terminal to start using nvm or run the following to use it now:
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
上記の実行結果の最後に指示されている通り、以下のsource
コマンドで環境変数の設定を反映させます。
$ source ~/.bashrc
これでnvm
が使用できるようになり、以下のようにnvm
のバージョンを確認できます。
$ nvm --version
0.39.5
Node.js をインストールする
nvm
を使うことで簡単に Node.js をインストールできます。まず、インストール可能な Node.js のバージョン一覧を確認してみます。
以下を実行します。大量のバージョンが表示されます。
$ nvm ls-remote
v0.1.14
v0.1.15
v0.1.16
# (...省略...)
v20.6.1
v20.7.0
v20.8.0
v20.8.1
v20.9.0 (Latest LTS: Iron)
v21.0.0
v21.1.0
表示された中から目的の Node.js のバージョンがあればそれを指定して以下のようにインストールすることができます。
$ nvm install v16.14.0
Downloading and installing node v16.14.0...
Downloading https://nodejs.org/dist/v16.14.0/node-v16.14.0-linux-x64.tar.xz...
############################################################################################################## 100.0%
Computing checksum with sha256sum
Checksums matched!
Now using node v16.14.0 (npm v8.3.1)
Creating default alias: default -> v16.14.0
Node.js
のバージョンを確認します。
$ node --version
v16.14.0
最新の LTS 版をインストールしたい場合は、以下のようにnvm install --lts
コマンドを実行します。
$ nvm install --lts
インストール済みのバージョンを確認するには、以下のようにnvm ls
コマンドを実行します。
$ nvm ls
目的の Node.js のバージョンを特定のプロジェクトで指定して使いたい場合は、まず目的のプロジェクトのディレクトリに移動し、そこでnvm use
コマンドを使用して設定します。
$ cd ~/workspace/my-project
$ nvm use v16.14.0
再度バージョンを確認すると、指定したバージョンになっていることが確認できます。
$ node --version
v16.14.0
以上でnvm
を使ったNode.js
のインストールは完了です。
pnpm インストール
pnpm
の公式リポジトリに従ってインストールします。以下を実行します。
$ curl -fsSL https://get.pnpm.io/install.sh | sh -
以下が実行結果です。
$ curl -fsSL https://get.pnpm.io/install.sh | sh -
==> Downloading pnpm binaries 8.9.2
WARN using --force I sure hope you know what you are doing
Copying pnpm CLI from /tmp/tmp.QHUcCDgkHb/pnpm to /home/username/.local/share/pnpm/pnpm
Appended new lines to /home/username/.bashrc
Next configuration changes were made:
export PNPM_HOME="/home/username/.local/share/pnpm"
case ":$PATH:" in
*":$PNPM_HOME:"*) ;;
*) export PATH="$PNPM_HOME:$PATH" ;;
esac
To start using pnpm, run:
source /home/username/.bashrc
指示通りに以下を実行して環境変数の設定を反映します。
$ source /home/username/.bashrc
pnpm
のバージョンを確認します。
$ pnpm -v
8.9.2
まとめ
以上で、Ubuntu でnvm
、Node.js
、pnpm
の実行環境を構築することができました。それぞれコマンド1つ、2つ実行するだけで簡単にインストールできます。nvm
を使うことで、Node.js
のバージョンを切り替えることができます。pnpm
を使うことで、npm
よりも高速にパッケージをインストールすることができます。Node.js
、nvm
、pnpm
のコマンドでそれぞれのバージョンを確認するところまでを解説しました。