nodenvを導入してNode.jsのバージョンを管理する

ブログメインビジュアル

初めまして、iOSエンジニアの手嶋です。


弊社のエンジニアチームで共通のフロントエンド環境を作成するにあたり、iOSエンジニアの私もnodenvを使用してNode.jsを導入することになったため、今回はその導入手順について紹介しようと思います。


目次

nodenvについて

nodenvとはNode.jsのバージョンを管理するためのバージョン管理ツールです。


これを導入することにより、チーム開発をする上でバージョンを揃えた環境を構築することが可能になります。


導入方法

今回はmac環境での導入の説明となります。


また、前提としてhomebrewが入っているものとします。


現在のNode.jsのバージョンを確認

まずは現在設定されているNode.jsのバージョンを確認します。

$ node -v

既にNode.jsがインストールされている場合はインストールされているバージョンが表示され、未インストールの場合はエラーが返ってくると思います。


今回はこのコマンドで、任意のバージョンのNode.jsが表示されるようにすることをゴールとします。

nodenvのインストール

まずはhomebrewを使用し、下記のコマンドでnodenvをインストールします。

$ brew install nodenv

nodenvがインストールされたかを確認します。

$ nodenv -v

nodenv 1.4.0


nodeのインストール

次にnodenv経由でnodeをインストールします。


まずはインストール可能なnodeの一覧を表示します。

$ nodenv install --list

0.1.14
0.1.15
0.1.16
...
中略
...
16.13.0
...
中略
...
v8-canary

この中から今回は、16.13.0をインストールします。

$ nodenv install 16.13.0

インストールしたバージョンの確認は以下のコマンドで可能です。

$ nodenv versions

16.13.0

インストールしたnodeを削除したい場合は以下のコマンドで可能です。

$ nodenv uninstall {任意のnodeバージョン}

$ nodenv uninstall 16.13.0

また、globalやlocalの設定をすることで、PC全体でバージョンを適応させるかプロジェクトごとに適応するかを選べます。

$ nodenv global 16.13.0

$ nodenv local 16.13.0

nodenv localを使用すると現在いるディレクトリに.node_versionsというファイルが生成され、そのファイル内に指定したnodeのバージョンが格納されます。

これにより、そのディレクトリでは.node_versionsに格納されたバージョンが参照されるようになります。


最後にターミナルが起動した際にnodeのバージョンが反映されるようにします。


次に最新のmac OSではデフォルトのターミナルがzshに変更されたため、.zshrcを編集します。

export PATH=$HOME/.nodenv/bin:$PATH
eval "$(nodenv init -)"

これでターミナルが起動する度にnodenvで設定したnodeが反映されるようになります。


最後に現在設定されているNode.jsのバージョンを確認します。

$ node -v

v16.13.0

表示されるNode.jsのバージョンが、nodenvで選択したものと一致すれば作業は完了です。

最後に

今回はnodenvを使用して特定のバージョンのnodeの導入する方法を紹介しました。


チーム開発などで使用するライブラリのバージョンを揃える必要が出た際にご参考になれば幸いです。

この記事を書いた人 teshima 2021年新卒iOSエンジニア、🐈と🚗がすきです。
TOP