Edited at

nvm(Node Version Manager)を使ってNode.jsをインストールする手順


概要


  • Node.jsの開発環境を構築するにあたって、nodebrew、nvmのようなバージョン管理できるライブラリを使うことが必須になっていると思います。

  • 個人的には、nvmがオススメなのでをnvmを使ったNode.jsのインストール&バージョンアップ手順を紹介します。


nodebrew、nvmのどちらを選択した方が良いか

結論:人気度からnvmがオススメ


  • Googleトレンド(2019年10月16日時点)で、nvmnodebrewを上回っているから。

スクリーンショット 2019-10-16 0.07.07.png


nvmのインストール


  • Git、curl、Hombrewのどれかでインストールします。

  • バージョンアップも考慮するとGitがオススメです。

  • 公式のGithubはこちらから


Gitの場合


Gitの場合

$ export NVM_DIR="$HOME/.nvm" && (

git clone https://github.com/nvm-sh/nvm.git "$NVM_DIR"
cd "$NVM_DIR"
git checkout `git describe --abbrev=0 --tags --match "v[0-9]*" $(git rev-list --tags --max-count=1)`
) && \. "$NVM_DIR/nvm.sh"
$ vi ~/.bash_profile
# 以下、追加する
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


curlの場合


curlの場合

$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.0/install.sh | bash



Hombrewの場合


Hombrewの場合

$ brew install nvm

$ source $(brew --prefix nvm)/nvm.sh
$ echo 'source $(brew --prefix nvm)/nvm.sh' >> ~/.bash_profile


補足:nvmのバージョンアップ

Gitを使ったnvmのバージョンアップです。


Gitの場合

(

cd "$NVM_DIR"
git fetch --tags origin
git checkout `git describe --abbrev=0 --tags --match "v[0-9]*" $(git rev-list --tags --max-count=1)`
) && \. "$NVM_DIR/nvm.sh"


nvmのインストール検証

次に正常にインストールされているか検証します。

command -vを実行して、nvmと表示されたらOKです。

$ command -v nvm

nvm

もしここで、nvm: command not foundと表示されたら、以下コマンドを実行して、もう一度、command -vを実行してみてください

$ source ~/.bash_profile


Node.jsのインストール


stableバージョンを使う場合


stableバージョン

$ nvm install stable

$ nvm alias default stable



  • stableは、Node.jpの安定したバージョンをinstallするというオプション。


  • alias defaultで、安定したバージョンをdefaultにします。


LTS(Long Term Support)バージョンを使う場合

LTSとは長期間に渡って、安全なメンテナンスリリースのみが実施されるバージョンです。

最新バージョンを使う理由が特に無ければ、安定しているLTSを使うのがオススメです。

LTSのリリースは以下、6つの修正に限定されます。


  1. Bug fixes;

  2. Security updates;

  3. Non-semver-major npm updates;

  4. Relevant documentation updates;

  5. Certain performance improvements where the risk of breaking existing applications is minimal;

  6. Changes that introduce large amount of code churn where the risk of breaking existing applications is low and where the change in question may significantly ease the ability to backport future changes due to the reduction in diff noise.


  • LTSなどのリリース計画について詳しく知りたい方はこちらを参考にしてください。

  • リリーススケジュールを知りたい方はこちらを参考にしてください。


LTSバージョン

$ nvm install --lts

$ nvm alias default lts/*



  • --ltsは、LTSバージョンの最新をinstallするというオプションです。


Node.jpのバージョンアップ手順

インストール手順と同様のコマンドでOK


Node.jsのバージョンアップ

$ nvm install --lts

$ nvm alias default lts/*

npm自体のバージョンアップも実施します。

$ nvm install-latest-npm

動作検証として一時的にバージョンアップするのであれば、以下のようにuseを使います。

$ nvm use stable

特定のバージョンにするのであれば、nvm ls-remoteを使って調べて、versionを指定します。


v9.2.0にverupする場合

$ nvm ls-remote

v8.2.1
v8.4.0
v8.5.0
v8.6.0
v8.7.0
v8.8.1
-> v8.9.1
v9.2.0
system
default -> 8.9.1 (-> v8.9.1)
node -> stable (-> v9.2.0) (default)
stable -> 9.2 (-> v9.2.0) (default)

$ nvm install v9.2.0
$ nvm alias default v9.2.0



プロジェクトで固定のNode.jsのバージョンを使わせたい場合


  • プロジェクトによっては、Node.jsのバージョンを固定したい場合があると思います。

  • そのような場合、.nvmrcファイルを作成してソース管理すれば対応できるので紹介します。

  • 以下、最新のltsで固定する場合の例です。


最新のltsで固定する場合

$ echo "lts/*" > .nvmrc

$ nvm install # 初回のみ実行する
Found '/path/to/project/.nvmrc' with version <lts/*>
Now using node v8.11.4 (npm v5.6.0)
$ nvm use
Found '/path/to/project/.nvmrc' with version <lts/*>
Now using node v8.11.4 (npm v5.6.0)


Node.jsのサンプルコード

インストールが正常に完了していることを検証します。

以下、web_examle.jsというファイルを用意して実行します


web_examle.js


const http = require("http");

http.createServer((request, response) => {
response.writeHead(200, {"Content-Type": "text/plain"});
response.write("Hello World");
response.end();
}).listen(8888);


$ node web_examle.js

以下、URLにアクセスしてみてください

http://localhost:8888/

Hello Worldと表示されたら検証完了です。


その他参考となる記事