2
0

nodenvでNode.jsをバージョン管理する

Posted at

はじめに

フロントエンド開発の機会が増えてきたので、知識整理も含めて簡単にまとめてみます。

nodenvを使用すると、どこでどのバージョンを使用するといったバージョン管理が出来るようになります。

nodenvをインストール

nodeenvはHomebrewを使ってインストール出来ます。

$ brew install nodenv

インストールが完了したら、nodenv自体とnode.jsのバージョンを確認してみます。

nodenv自体のバージョン

$ nodenv -v
nodenv 1.4.1

node.jsのバージョン

$ node -v
v14.16.1

インストール済のNode.jsを確認する

versionsサブコマンドでインストール済のNode.jsを確認出来ます。

$ nodenv versions       
* system => v14.16.1 (set by /Users/xxx/.nodenv/version)

systemと言う名前で「v14.16.1」がインストールされています。
出力結果より、
ユーザーディレクトリ配下に「.nodenv/version」と言うディレクトリ階層が作られ、そこに実態が格納されています。

新しいバージョンをインストールする

バージョン管理なので、さっそく別バージョンに切り替えていきましょう。

インストールできるバージョンを確認

まず、インストールできるバージョンを確認します。
installサブコマンドに「-l」オプションを付けて実行します。

$ nodenv install -l
0.1.14
0.1.15
0.1.16
・・・

バージョンのラベルが大量に出てくるので、利用したいバージョンがあるか確認します。

指定したバージョンをインストール

バージョンの一覧から使用するバージョンを見つけたら、installサブコマンドにバージョンを付けてインストールします。

$ nodenv install 16.13.2

インストール出来たか確認してみます。

$ nodenv versions       
* system => v14.16.1 (set by /Users/xxx/.nodenv/version)
  16.13.2

インストール済の一覧に指定したバージョンが表示されるようになりました。
ただし、*マークを見るとv14.16.1がアクティブになっているようです。

使用するNode.jsのバージョンを指定する

バージョンを指定する方法はローカル設定とグローバル設定の2つがあります。

ローカル設定

ローカル設定でバージョンを指定した場合、指定したディレクトリ内で有効なバージョンを指定出来ます。

特定のディレクトリ内でバージョンを指定します。

$ nodenv local 16.13.2

ローカル設定すると、.node-versionと言うファイルが作成されます。

$ ls -a
.               .node-version 

ファイルの中身をみると指定したバージョンが記載されています。

.node-version
16.13.2

コマンド上で確認したい場合は、バージョンを指定せずに「nodenv local」、または「nodenv versions」で確認出来ます。

$ nodenv local
16.13.2

nodenv versions       
  system
* 16.13.2 (set by /Users/xxx/workspace/yarn-webpack-sample/.node-version)

ちなみに1階層上のディレクトリに移動し、バージョンを再確認してみます。

$ cd ..
$ nodenv versions
* system => v14.16.1 (set by /Users/xxx/.nodenv/version)
  16.13.2

階層が変わったので、アクティブなバージョンがsystemに変わってますね。

グローバル設定

グローバル設定でバージョンを指定すると、全シェルで使用されるようになります。

$ nodenv global 16.13.2
$ nodenv versions      
  system
* 16.13.2 (set by /Users/xxx/.nodenv/version)

環境変数

その他、環境変数を使っても各種設定が可能です。

参考文献

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0