Node.js でディレクトリごとにバージョンを変更する nodenv
はじめに
ディレクトリ(プロジェクト)ごとに Node.js のバージョンを変更したかったので、管理ツールを調べた。
TL;DR
nodenv
を使えば、ディレクトリごとに Node.js のバージョンを管理できるnodenv install <version>
で Node.js の指定バージョンをインストールnodenv local <version>
でそのディレクトリで使う Node.js のバージョンを固定
目的・やったこと
ディレクトリ(プロジェクト)ごとに Node.js のバージョンを変更したかったので、管理ツールを調べた。
目次
環境・条件
1 | $ sw_vers |
詳細
公式リポジトリの通りに進めれば Ok。
下準備(飛ばして OK)
もともと nodebrew
を使ってたが、nodenv
とかぶるので nodebrew
をアンインストール。
1 | $ brew uninstall nodebrew |
~/.bash_profile
から nodebrew
に関する記述を削除。(人によっては ~/.bashrc
かも)
1 | $ vi ~/.bash_profile |
セットアップ
homebrew でインストール。
1 | $ brew install nodenv |
nodenv init
を実行して表示される内容に従う。
1 | $ nodenv init |
.bash_profile
に eval "$(nodenv init -)"
を追加
1 | $ vi ~/.bash_profile |
インストールできているかをチェック。OK
とか none
とかであれば問題なし、セットアップ完了。
1 | $ curl -fsSL https://github.com/nodenv/nodenv-installer/raw/master/bin/nodenv-doctor | bash |
使い方(概要)
基本的な流れは以下の通り。
nodenv install x.y.z
で必要なバージョンをインストール- インストール後は
nodenv rehash
を実行する nodenv global x.y.z
でグローバルに使いたいバージョンを指定nodenv local x.y.z
でプロジェクトで使うバージョンを指定
ヘルプ表示
何もオプションつけずに実行する。
1 | $ nodenv |
すべてのコマンドがみたい場合は nodenv commands
を実行。
1 | $ nodenv commands |
nodenv help <command>
でコマンドの詳細を表示。
1 | $ nodenv help root |
インストール済み一覧
1 | $ nodenv versions |
インストール可能一覧
1 | $ nodenv install -l |
インストール
インストールしたら nodenv rehash
もセットで実施。
1 | $ nodenv install 11.15.0 |
グローバル設定
すべてのディレクトリで有効な Node.js のバージョンを指定。
1 | $ nodenv global 12.7.0 |
ローカル設定
現在のディレクトリ(を含む下層ディレクトリ)で有効な Node.js のバージョンを指定。グローバル設定よりも優先される。
1 | $ nodenv local 12.7.0 |
まとめ
nodenv
を使えば、ディレクトリごとに Node.js のバージョンを管理できるnodenv install <version>
で Node.js の指定バージョンをインストールnodenv local <version>
でそのディレクトリで使う Node.js のバージョンを固定
その他・メモ
はじめは nodebrew
+ avn
でやろうとしてたんだけど、avn could not activate node v12.8.0
が解決できなくて諦めた。
あと nodebrew
使ってると、別のバージョンをインストールするときに pyenv global 2.x.x
としないとエラーになるのもダルかった。
参考文献
- nodenv/nodenv: Manage multiple NodeJS versions.
- nodebrewからndenvにして、ディレクトリ/プロジェクト毎にnodeのバージョンを指定する方法 | ウェブスタジオTANI
関連記事
- axios で添付ファイルありのリクエスト(multipart/form-data の POST)
- Chart.js(vue-chartjs) でツールチップの表示内容を変更
- Vue.js で日本語変換での誤発火を抑止しつつ Enter キーで Submit
- ツールチップを簡単に表示できる Tippy.js の使い方
- axios で unable to verify the first certificate の対応方法
- Vue で子コンポーネントのメソッドをコールする
- JavaScript で URL のクエリパラメータを操作する方法
- jQuery Select2 で、初期値の設定と選択状態のクリア