Quantcast
Channel: Node.jsタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 9360

direnvとnvmを用いてディレクトリごとにnodeのバージョンを切り替える

$
0
0

概要

  • 個人や仕事で、複数のプロジェクトに渡ってやっていくうちに、nodeのバージョンを切り替えるのが煩わしくなっくる。
  • 私自身もnvm use v12などと明示的に切り替えていた。
  • 今回はそう言った方のために、nodeのバージョンを自動的に切り替える手順を紹介します。

direnv と nvm について

Githubのdirenvnvmを参考

direnvのインストール & 初期セットアップ

direnvについてはこちらが良い記事だったので、はじめに入れておく。
https://qiita.com/kompiro/items/5fc46089247a56243a62

nvmのインストール & 初期セットアップ

nvmについてはこちらが良い記事だったので、はじめに入れておく。
Macの方はHombrewを使うと思うがGithubには公式でサポートしないと書いてあるので、認識だけしておく。(私も使っているが問題になったことはない)
https://qiita.com/ffggss/items/94f1c4c5d311db2ec71a#nvm%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB

direnvとnvmを用いてディレクトリごとにnodeのバージョンを切り替える

direnvの設定にuser_nvm()を加える

~/.config/direnv/direnvrcもしくは ~/.direnvrcに書く

~/.direnvrc
use_nvm(){local node_version=$1nvm_sh=~/.nvm/nvm.sh
  if[[-e$nvm_sh]];then
    source$nvm_sh
    nvm use $node_versionfi}

(https://github.com/direnv/direnv/wiki/Node#using-nvmより引用)

.envrcに切り替えたいnodeのバージョンを書く

切り替えたいディレクトリに.envrcを作成。
細かいバージョン指定でなく、v14などとざっくりで書いておけば、nvmによって自動で選ばれるので、おすすめ

.envrc
use nvm v14

direnvが使えるように許可 & 読み込み

❯ direnv allow                                                                                                                                                                 
direnv: loading .envrc                                                                                                                                                                     
direnv: using nvm v14
Now using node v14.0.0 (npm v6.14.4)
direnv: export ~NVM_BIN ~PATH

うまく切り替わったことがわかる。次に、試しにディレクトリを切り替える

cd ..
direnv: loading ../../../../.envrc
direnv: using java 8.0.242.hs-adpt
direnv: export +CPATH +LD_LIBRARY_PATH +LIBRARY_PATH +PKG_CONFIG_PATH ~JAVA_HOME ~MANPATH ~PATH

 ❯ cd -
direnv: loading .envrc
direnv: using nvm v14
Now using node v14.0.0 (npm v6.14.4)
direnv: export ~NVM_BIN ~PATH

ディレクトリを切り替えてもうまく切り替わっていればOK


Viewing all articles
Browse latest Browse all 9360

Trending Articles