Windows、Linux、Macの各環境にnvmを使用してNodeの実行環境を構築する
こんにちは。サービスグループの武田です。
フロントエンドの開発やAWS CDKを用いた開発など、最近はNodeの実行環境を求められるケースが増えてきました。このエントリでは、Windows、Linux、Macという3つの異なる環境で、node
とnpm
コマンド(もちろんnpx
も *1)が使えるようになるところまでの手順を解説します。
目次
nvmって必要なの?
そもそもnvmが何かというと、Nodeの複数のバージョンを管理し、切り替えたりするためのソフトウェアです。ある場面では最新のNodeを使いたい、でも別の場面では少し前のバージョンを使いたい。といったシチュエーションなどに対応できます。あまり複数バージョンの使い分けが必要ない場合でも、Nodeのアップデートなどを簡単に行えるためお勧めです。
検証環境
次の環境で検証していますが、基本的には類似のOSなら大丈夫(だと思いたい)です。特にWindowsはクライアントOSとサーバーOSで挙動が変わる可能性がありますが、うまくいかない場合などはご一報ください。
- Windows
- Windows Server 2016
- Linux
- Amazon Linux 2
- Mac
- macOS Mojave
Windows
大まかな手順としてはPowerShellを使ってパッケージ管理ソフトであるChocolateyをインストールし、続いてnvm、Node、という順にインストールしていきます。
まずはPowerShellを起動し、次のコマンドを実行します。しばらく待つとChocolateyのインストールが完了します。
iwr https://chocolatey.org/install.ps1 -UseBasicParsing | iex
続いて次のコマンドを実行します。途中でスクリプトを実行してもいいか聞かれるのでy
と入力します。応答が面倒な場合はchoco
コマンドに-y
のオプションをつけることもできます。インストールが完了したら一度PowerShellを再起動する必要があります。
choco install nvm
PowerShellを一度閉じて再起動できたらnvm
と入力してみます。スクリーンキャプチャのようにコマンドが実行できればここまでは大丈夫です。
nvm
使用可能なNodeのバージョンはlist
で、実際のインストールはinstall
です。執筆時点ではLTS(Long Term Support)の最新バージョンは10.16.3のため、今回はこれをインストールします。
nvm list available nvm install 10.16.3
インストールできたらそのバージョンをuse
で使用できます。node
とnpm
のバージョンが確認できるため、インストール完了の確認ができました。
nvm use 10.16.3 node -v npm -v
Linux
Linuxにnvmをインストールする場合は、GitHubのREADMEにあるようにインストールスクリプトを使用します。インストールすると自動的に.bashrc
にディレクトリの設定などが書き込まれるため、これをロードすればすぐに使用可能です。
$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 13226 100 13226 0 0 13226 0 0:00:01 --:--:-- 0:00:01 44986 => Downloading nvm as script to '/home/ec2-user/.nvm' => Appending nvm source string to /home/ec2-user/.bashrc => Appending bash_completion source string to /home/ec2-user/.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 $ . .bashrc $ nvm --version 0.34.0
インストール可能なバージョン一覧はls-remote
を使用しますが、非常にリストが長いため絞り込みます。LTSの最新バージョンはv10.16.3
であることが確認できるため、これをインストールします。
$ nvm ls-remote --lts | grep Latest v4.9.1 (Latest LTS: Argon) v6.17.1 (Latest LTS: Boron) v8.16.1 (Latest LTS: Carbon) v10.16.3 (Latest LTS: Dubnium) $ nvm install v10.16.3 Downloading and installing node v10.16.3... Downloading https://nodejs.org/dist/v10.16.3/node-v10.16.3-linux-x64.tar.xz... ######################################################################## 100.0% Computing checksum with sha256sum Checksums matched! Now using node v10.16.3 (npm v6.9.0) Creating default alias: default -> v10.16.3
Windowsと同じようにuse
してもよいですが、しなくてもすでに使える状態でした。次のようなバージョンを確認できれば、インストール完了です。
$ node -v v10.16.3 $ npm -v 6.9.0
Mac
Macにnvmをインストールするには、Linuxと同じようにインストールスクリプトを使用する方法と、パッケージ管理ツールを使う方法があります。ここではパッケージ管理ツールとしてHomebrewを使ってみます。
Homebrewがインストールされていない場合は、次のワンライナーを実行すればインストールできます。
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Homebrewがインストールできたら、続いてnvmをインストールします。インストールすると次のようなメッセージが出力されるはずです。これを設定しないとうまく動作しません。~/.bash_profile
に指示された3行を追記します。
$ brew install nvm ... Add the following to ~/.bash_profile or your desired shell configuration file: export NVM_DIR="$HOME/.nvm" [ -s "/usr/local/opt/nvm/nvm.sh" ] && . "/usr/local/opt/nvm/nvm.sh" # This loads nvm [ -s "/usr/local/opt/nvm/etc/bash_completion" ] && . "/usr/local/opt/nvm/etc/bash_completion" # This loads nvm bash_completion]
追記できたらそれをロードすれば、あとはLinuxと同じ手順でインストールできます。
$ . ~/.bash_profile $ nvm --version 0.34.0 $ nvm ls-remote --lts | grep Latest v4.9.1 (Latest LTS: Argon) v6.17.1 (Latest LTS: Boron) v8.16.1 (Latest LTS: Carbon) v10.16.3 (Latest LTS: Dubnium) $ nvm install v10.16.3 $ node -v v10.16.3 $ npm -v 6.9.0
まとめ
Nodeのインストーラーを使って直接インストールすることもできるのですが、nvmなどのツールを使うことでより効率的に管理ができます。コマンド操作に馴染みのない方は難しい手順に見えるかもしれませんが、慣れれば快適ですのでこの機会に少しずつ覚えてみてください。
それでは、よいNodeライフを!