前提
この記事では以下を前提としています。
- 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.5Node.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.0Node.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/.bashrcpnpmのバージョンを確認します。
$ pnpm -v
8.9.2まとめ
以上で、Ubuntu でnvm、Node.js、pnpmの実行環境を構築することができました。それぞれコマンド1つ、2つ実行するだけで簡単にインストールできます。nvmを使うことで、Node.jsのバージョンを切り替えることができます。pnpmを使うことで、npmよりも高速にパッケージをインストールすることができます。Node.js、nvm、pnpmのコマンドでそれぞれのバージョンを確認するところまでを解説しました。