ndenvが便利だメモ
いつもグローバルにnode.jsをインストールして、利用していましたがndenvというのを利用すると、プロジェクトごとにnodeのバージョンを管理することができるようなので、利用してみよと思います。
ndenvをインストールする場合はanyenvというツールを利用するのが便利なようです。 anyenvはバージョン管理ツールを管理するツールみたいなものでしょうか。。。
anyenvをクローン
$ git clone https://github.com/anyenv/anyenv ~/.anyenv
.bash_profileにパスを書き込み
ホームディレクトリに移動
$ cd ~/
$ vi .bash_profile
編集状態にするにはi
。
#!/bash/profile export PATH=$HOME/.anyenv/bin:$PATH export ANYENV_ROOT=/usr/local/anyenv eval "$(anyenv init -)"
保存して閉じる。
:wq
PATHを通す。 編集ファイルに対してsourceコマンドを実行しないとPATHが反映されない。
$source ~/.bash_profile
ndenvをインストール ※2019/3/19追記 ndenvではなくnodenvが推奨のようです。
Please consider to use nodenv. ndenv repository is not maintained actively.
$ anyenv install ndenv
インストールされたかを確認
$ anyenv version ndenv: system (set by /Users/{ユーザーのホームディレクトリ}/.anyenv/envs/ndenv/version)
$ ndenv Some useful ndenv commands are: commands List all available ndenv commands local Set or show the local application-specific Node version global Set or show the global Node version shell Set or show the shell-specific Node version install Install a Node version using the node-build plugin uninstall Uninstall a specific Node version rehash Rehash ndenv shims (run this after installing executables) version Show the current Node version and its origin versions List all Node versions available to ndenv which Display the full path to an executable whence List all Node versions that contain the given executable See `ndenv help <command>' for information on a specific command. For full documentation, see: https://github.com/riywo/ndenv#readme
利用できるnodeバージョンを確認
$ ndenv install -l
利用したいnode.jsをインストール ※複数いれてローカルフォルダで使い分ける感じ
$ ndenv install v10.14.2 $ ndenv install v11.4.0
※私の場合なぜかインストールする際に、以下のエラーでてしまいインストールができませんでした。
mv: rename /var/folders/xl/l_pvr4w524q6zb3n3b2n_42r0000gn/T/nodenv.20190318082825.1007/nodenv to /usr/local/anyenv/envs/nodenv: Permission denied
以下を参考に解決できました。
macos - Permission denied when trying to cd /usr/local/bin from terminal - Super User
インストールしたバージョンを見る
ndenv versions
グローバルで利用するバージョンを指定する
ndenv global v10.14.2
ローカル(sampleフォルダ)で利用するノードのバージョンを指定する。
$ cd sample
利用するバージョンを指定
$ ndenv local v10.14.2
バージョンを確認
$ node -v v10.14.2
nodeのバージョンを変更する
ndenv local
を実行すると、ローカルファイルに.node-version
というファイルが作成されます。 localのnodeバージョンを解除するには.node-versionを削除すれば良いようです。
cat .node-version
まとめ
グローバルに入れなくてよいし、プロジェクトごとに特定のバージョンを利用している場合などにすごく便利です。