MacにNode.jsをインストール(プロジェクト毎にバージョン管理できるように)

  • 公開日:2021/11/19

MacにNode.jsをインストールする方法です。プロジェクトによってバージョンが異なることがあるので、それにも対応した方法でインストールします。

Homebrewが必要です。事前にインストールされているものとしてすすめます。

anyenvをインストールする

Homebrewでanyenvをインストールします。

$ brew install anyenv

初期化する

$ brew anyenv init
# Load anyenv automatically by adding
# the following to ~/.zshrc

eval "$(anyenv init -)"

5行目を~/.zshrcに追記するように言われるので従います。

$ echo 'eval "$(anyenv init -)"' >> ~/.zshrc

ここで一度ターミナルを再起動します。
すると以下のようなエラーが出ます。

ANYENV_DEFINITION_ROOT(/Users/whoami/.config/anyenv/anyenv-install) doesn't exist. You can initialize it by:
> anyenv install --init

あせらず、指示どおりにやってみます。

$ anyenv install --init
Manifest directory doesn't exist: /Users/sachiko/.config/anyenv/anyenv-install
Do you want to checkout https://github.com/anyenv/anyenv-install.git? [y/N]: y

マニフェストディレクトリを作るかどうか聞かれるので「y」と答えてエンターキーを押します。

「Completed!」と表示されたらOKです。

nodenvをインストール

次にnodenvをインストールしていきます。

$ anyenv install nodenv

「Install nodenv succeeded!」と出たらインストール成功です。
(exec $SHELL -l)するか再起動しろと言われるので、ここはコマンドでやってみます。

$ exec $SHELL -l

envを確かめます

$ env

NODENV_ROOTNODENV_SHELLが追加されていることがわかると思います。

では、いよいよNode.jsをインストールしていきます。

Node.jsをインストール

まずは、インストール可能なバージョンを確認します。

$ nodenv install -l

めっちゃいっぱい出てきます。

ここに最新のNodeバージョンが表示されていない場合はanyenv-updateプラグインをインストールしておくといいらしいです。やってみます。

$ mkdir -p $(anyenv root)/plugins
$ git clone https://github.com/znz/anyenv-update.git $(anyenv root)/plugins/anyenv-update

以下を実行して一覧を更新します。

$ anyenv update

最新バージョンまで表示されました。
では、今度こそ本当にNode.jsをインストールしていきます。
とりあえず、現時点での推奨版の最新を入れておきます(v16.13.0)。

$ nodenv install 16.13.0

インストールしたいバージョンを指定するだけです。

次に、私の場合、やや古い環境も必要なので古いバージョンもインストールしておきます(今回は、v12.18.3)。

$ nodenv install 12.18.3

以下のコマンドでインストール済みのバージョンを確認することができます。

$ nodenv whence npm

プロジェクト毎にバージョンをかえる

まず、デフォルトのバージョンは最新バージョンに指定したいと思います。

$ nodenv global 16.13.0

globalで指定します。わかりやすですね。
確認してみます。

$ node -v
v16.13.0

つぎに、testプロジェクトでは古いバージョン12.18.3に指定していと思います。

$ cd test
test $ nodenv local 12.18.3

testプロジェクトのディレクトリに移動し、localでバージョンを指定しました。
testディレクトリに.node-versionという隠しファイルが作成されたことがわかります。
念のため、ローカルバージョンも確認してみます。

test $ node -v
 v12.18.3

これで、プロジェクト毎にバージョンを簡単に管理できるようNode.jsをインストールすることが出来ました。