nodenvからvoltaに移行したメモ

2022/03/14に公開

もともとNode.jsのバージョン管理ツールでnodenvを使っていたけど、PJ毎にnode.jsのバージョンが変わったりするので少し操作に不満がありました。
PCの開発環境を一から構築することもあり、いい感じのツールないかなと探したところvoltaが良さそうだったので切り替えることにしました。

私はmacユーザーでhomebrewを使っているので、その前提の手順になります。
Voltaのインストールについてはほぼドキュメント通りです。

nodenvのアンインストール

  1. homebrewでuninstall
$ brew uninstall nodenv
  1. シェルの中から eval "$(nodenv init -)"みたいな記述やPATHの設定を削除する

Voltaのインストール ~ node / yarnのインストール

$ curl https://get.volta.sh | bash
$ exec $SHELL -l
$ volta install node@16
$ node -v
v16.14.0
$ yarn -v
Volta error: Yarn is not available.

Use `volta install yarn` to select a default version (see `volta help install` for more info).
$ volta install yarn
$ yarn -v
1.22.17

PJでのNode.jsバージョンの固定

$ volta pin node

上記を実行するとpackage.jsonに以下のような項目が追加されます。

{
  ...
  "volta": {
    "node": "16.14.0"
  }
}

チーム内でvoltaを使う前提であれば上記だけで共有されるので良さそうです。
他のツールも混在するようでしたら適宜.nvmrc.node-versionを追加しようと思います。

yarnのバージョンも同様に固定できるので、必要に応じてvolta pin yarnを実行しましょう。

その他

  • asdfも検討したけどインストール手順が煩雑な感じがして手が伸びませんでした
  • 冒頭で挙げたnodenvの不満
    • インストール時に毎度パッチバージョンまで指定しないといけない
    • yarnをグローバルにインストールしたいんだけど、バージョンが変わるたびに各バージョンでインストールし直す必要がある
  • nvmでも良い感じはするけど新しいもの使いたかったのでとりあえずvoltaにしました
    • グローバルにyarnを入れたい問題は改善できるのかな?機会があれば試してみようと思います。

Discussion