それ、Volta で解決しませんか?
自己紹介
こんにちは、駆け出し web エンジニアの柿です。
現在は都内の SES 企業で働いております。
自分の担当領域は基本的にフロントエンドですが、バックエンドの開発を行うこともあります。
最初にプログラミングに興味を持ち始めたのは緊急事態宣言がきっかけでした。
遊び感覚で始めた Progate が楽しくて、いつの間にか仕事にしたいと思い始めて今に至ります。
おわかりいただけましたでしょうか?エンジニアとして仕事を始めてからまだ 1 年も経っていないレベルです笑
現場での問題
私がいた現場に上司から一つ知らせがやってきました。
「Node16 のサポートが切れる」
というものです。
私がこのプロジェクトに参画したときには Node のバージョンは 18 でと言われていたので、
「なにをそんなに焦ることがあるんだ」
と思っていたんですが、どうやらそうでもないようです。
そう、実はプロジェクトでは Node のバージョンは 16 が使われていたんです。
しかもマイナーバージョンも揃っていない。
つまり、Node のバージョン管理など一切やっていなかったのです。
ちょっとこれはまずいなと思ったのと、上司からの懇願もあり、私主導で
- Node のバージョンを上げる
- これを機にバージョン管理を導入する
を推し進めていきました。
そんなときに「使おう!」と思ったのが、今回紹介するVolta
です。
Volta ってなんだ?
「そうだ、Volta使おう」
Volta は 2020 年の終わりに公開された割と新しめな Node のバージョン管理ツールです。
- Rust 製なのでなんか速い
- プロジェクトメンバー全員が環境を揃えられる
- OS が違っても共通のコマンドが使える
- Node だけではなく、yarn や npm も管理できる(pnpm は実験的)
この 4 つが主な魅力です。メンテナンスもアクティブに行われているようです。
package.json
に node のバージョンや npm のバージョンを記載することができ、npm ci
など install コマンドを打つだけで、自動的にバージョンを変えることもできます。
つまり、プロジェクトごとにバージョンを固定することができるのです。
まとめ
- Volta は比較的最近公開された Node のバージョン管理ツール
- Windows や MacOS、さらには Linux にも対応している
- バージョンは
package.json
に記載される - Node だけじゃなく、yarn や npm も管理できる
- プロジェクトが異なっていても、
package.json
に記載されていれば、yarn install
やnpm install
を打つだけで、自動的にバージョンを変えることもできる
Volta を導入していこう
早速導入手順です。
公式のインストール方法
MacOS と Windows でインストール方法が若干異なるのでお気をつけください。
また、導入前に Node.js や他のバージョン管理ツールはアンインストールしておいてください。
MacOS
柿: 「MacOS の場合は、ターミナルで以下のコマンドを実行してください。」
curl https://get.volta.sh | bash
ちなみに、shell
がbash
,zsh
,fish
どれでも大丈夫です。
インストールするときに自動でパスも通してくれたりします。
インストールが終わったらターミナルを再起動してみてください。
そして以下のコマンドを打ってください。
volta -v
以下の感じでバージョンが表示されれば、インストールは完了です。
volta -v
> 1.1.1
これで MacOS は終わりです。
次に windows を見ていきましょう!
Windows
Windows の場合も、公式のインストール方法に従ってインストールしていきます。
まずは開発者モードを ON にしてください(かっこいい名前ですね)
こちらのような WEB サイトを参考にしてください
開発者モードを ON にしたら、公式ページのリンクをクリックしてください
download and run the Windows installer
というリンクがあると思うので、そこをクリックしてください。
そこをクリックすると、インストーラーがダウンロードされるので、ダウンロードが終わったら実行してください
終わりましたら以下のコマンドを実行してください。
volta -v
以下の感じでバージョンが表示されれば、インストールは完了です。
volta -v
> 1.1.1
次は Node.js をインストールしていきましょう。
まとめ
- 導入前に、Node.js や他のバージョン管理ツールはアンインストールしておく。
- MacOS はターミナルで以下のコマンドを実行する。
curl https://get.volta.sh | bash
- Windows はまず開発者モードを ON にする。
- 公式ページのリンクをクリックしてインストーラーをダウンロードして実行する。
Node.js をインストールしていこう
下記コマンドを実行してください
volta install node
これでインストールできました。
早いですね。最新の LTS バージョンがインストールされます。
Node.js のバージョンを確認してみましょう
node -v
> v20.13.1
Node はよくアップデートされているので、この記事のバージョンは参考程度に見てください。
もし仮に 18 系がインストールしたい場合は、
volta install node@18
というようにバージョンを指定してインストールできます。
さらにマイナーバージョン以下も指定することができます。
yarn
をインストールしたいなとなった場合は
volta install yarn@1
とすれば yarn の 1 系 がインストールできます。
この辺は Mac だろうが Windows だろうがコマンドは同じです。
まとめ
- インストールはコマンド操作で行う
-
volta install node
で Node.js をインストールできる -
volta install node@16.xx.x
で Node.js のバージョンを指定してインストールできる -
volta install yarn@1
で yarn の 1 系をインストールできる
-
プロジェクトでのバージョンを固定していこう
次にはプロジェクト全体で node のバージョンを固定する方法について説明します。
下記コマンドを打ってください。
volta pin node
これでpackage.json
を見に行ってみてください
{
"volta": {
"node": "20.13.1"
}
}
volta
の中にnode
というキーがあり、その値が20.13.1
となっていることが確認できますね
これで、このプロジェクトで使用する Node.js のバージョンが固定されました
yarn の 1 系を指定して固定したいときは
volta pin yarn@1
とすることで固定することができます。
{
"volta": {
"node": "20.13.1",
"yarn": "1.22.17"
}
}
volta
の中にyarn
というキーがあり、その値が1.22.17
となっていることが確認できますね
これで、node 同様にこのプロジェクトで使用する yarn のバージョンが固定されました
このようにpin
を使うと固定することができます
これでinstall
すればローカル環境にこのバージョンがインストールされます。
これでみんな揃った状態で開発を進めることができます。
まとめ
-
volta pin
コマンドでバージョンを固定できる
おわりに
以上、いかがでしたでしょうか?
Node.js のバージョン管理ツールとしては、nvm
やnodenv
などがありますが、volta
はこれらとは違い、プロジェクトごとにバージョンを簡単に固定できるという特徴があります。
volta
を使うことで、プロジェクトごとにバージョンを固定することができるので、プロジェクトごとにバージョンを揃えることができます。
また、volta
はnpm
やyarn
,pnpm
のパッケージ管理ツールとも連携しているので、volta
を使うことで、npm
やyarn
,pnpm
のバージョンも固定することができます。
ぜひ皆さんも使ってみてください!
なにかここがおかしい、といった部分があればぜひコメントをお願いします。
ではまた次の記事でお会いしましょう!
Discussion