概要
nodeのバージョン管理にtj/nを使っていました。
これ自体はとても便利なバージョンマネージャーなのですが、実務で使っているうちにある問題に直面しました。
それは、複数の、異なるバージョンのnodeプロセスを起動しなければいけない状況です。
理想的にはnodeのバージョンは揃えて、きちんと開発できる環境を整える運用を続けたほうがよいのですが、そのような幸せな環境にいる方は稀だと思います。
今回は、タイトルにもある通りディレクトリごとに異なるバージョンのnodeプロセスを立ち上げることができるavnの紹介です。
tj/nに関しての記事も書いているので知らない方はご覧ください。
インストール
nodeのバージョン管理に
tj/nを使っている場合、
$ npm install -g avn avn-n
nvmを使っている場合は、
$ npm install -g avn avn-nvm
nodebrewの場合、
$ npm install -g avn avn-nodebrew
です。
いずれかが終わったら、 $ avn setup
を行い、ターミナルを再起動します。
追記
ちなみになんですが、 $ yarn global add avn avn-n
のようにyarnを使ったインストールは正常に成功しませんでした。
検証に使ったyarn, nodeのバージョンはそれぞれ yarn: 1.13.0, node: v10.15.0 です。
あと、今関わっているプロジェクトで少し使ってみたんですが、 .node-version
ファイルが存在するディレクトリでどうにもうまく $ npm install
や $ yarn install
が成功せず、結局uninstallしてしまいました。使えない、と言ってしまうには確認が足りないのでなんとも言えないと言うのが事実ですが、ちょっと期待した動作をしてくれなかったので残念でした。
使い方
nodeプロセスを実行するディレクトリに、 .node-version
ファイルを作成し、 v6.11.4
のようにセマンティックバージョニング に従ったバージョンを指定するだけです。
正しくavnが動作していれば、.node-version
ファイルが存在するフォルダに入ると avn activated v6.11.3 (avn-n 6.11.3)
とシェルに表示されると思います。