9
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

ndenvを利用してnodeのバージョンを管理する

Last updated at Posted at 2018-11-30

[Deprecated] nodenv is better alternative
https://github.com/riywo/ndenv

(追記)ndenvの代わりにnodenvを利用することをおすすめします。

===========

nodeのバージョンをプロジェクトごとに管理したい場合があると思います。
nodeのバージョンが対応しておらずgulpの実行エラーが起きるときなどがいい例でしょう。

nodeのバージョン管理マネージャーには色々なものがあります。
その中のひとつに、Rubyのバージョン管理マネージャーで有名なrbenvに似た仕様をもつndenvというものがあります。

今回はndenvのインストール方法とndenvでnodeのバージョンを変える手順について説明します。

ndenvのインストール

$ git clone https://github.com/riywo/ndenv ~/.ndenv

もしくはHomebrewでもインストール可能です。

$ brew install ndenv

ndenvのパスを追加

以下をシェルの設定ファイルに追加します。

echo 'export PATH="$HOME/.ndenv/bin:$PATH"'
echo 'eval "$(ndenv init -)"'

シェルの設定ファイルを変更したらシェルを再起動しましょう。

node-buildをインストール

node-buildはnode自身をインストールするためのnbenvのプラグインです。
node-buildをインストールすることでnbenv installコマンドが利用できます。

インストールは以下のようにします。

$ git clone https://github.com/riywo/node-build.git $(ndenv root)/plugins/node-build

利用するバージョンのnodeをインストールする

ndenvでインストールできるnodeの一覧を確認します。

$ ndenv install -l

インストールはndenv install、ndenvで管理されているnodeの一覧はndenv versionsで確認できます。

### インストール前
$ ndenv versions
* system (set by /Users/toshiharu.nishina/.ndenv/version)

### インストール
$ ndenv install v8.1.0

### インストール後
$ ndenv versions
* system (set by /Users/toshiharu.nishina/.ndenv/version)
  v8.1.0

インストールしたらrehashをしておきます。

$ ndenv rehash

nodeのバージョンを変更する

プロジェクト単位で管理する場合はndenv local、グローバルで設定する場合はndenv globalとします。

### 変更前
$ node -v
v11.1.0

### バージョンの変更
$ ndenv local v8.1.0

### 変更後
$ node -v
v8.1.0

$ ndenv versions
 system
* v8.1.0 (set by /Users/toshiharu.nishina/git/legacy_design/.node-version)
9
7
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
9
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?