目的
Dockerの勉強としてDocker公式ドキュメントの言語別ガイドの中のNode.jsを読んでいたところ、手順的にDocker上のNode.jsではなく素で動くNode.js環境が必要であるように見えた。
Overview | Docker Documentation
今振り返って見てみると別に必要ってほどではなかったけれど、とはいえMac上に直接存在するNode.js環境はあってもいい。
- MacにNode.js環境作るぞ。
- Node.jsのバージョン管理はできるようにしたいので、homebrew直じゃなくて管理ツールがあった方がいいよね。
- 以前は
nvm
やn
を使っていたが、今調べてみるとvolta
というのがあるらしい。
ということで、MacにVoltaをインストールして、Node.jsのバージョン違いの環境を手軽に手に入れられるようにするのが目的です。
Voltaって何と、Voltaのインストール
基本的にこちらを参考にして、そのままやりました。ありがとうございます。
Node.jsの正確なバージョンをpackage.jsonに保存しているので、一度バージョンを固定するコマンドを打っておくだけでプロジェクトごとのバージョン管理がしやすい、というのがなんとなく良い点のような気がしました。
公式はこちら。
インストールが速いってことを推してますね。
では早速インストールしていきます。
% curl https://get.volta.sh | bash % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 12319 100 12319 0 0 10999 0 0:00:01 0:00:01 --:--:-- 10999 Installing latest version of Volta (1.0.5) Checking for existing Volta installation Fetching archive for macOS, version 1.0.5 ######################################################################## 100.0%#=#=-# # ######################################################################## 100.0% Creating directory layout Extracting Volta binaries and launchers Finished installation. Updating user profile settings. Updating your Volta directory. This may take a few moments... success: Setup complete. Open a new terminal to start using Volta!
.zshrcの中身を覗いて見て、イントールされていることを確認する。
% cat ~/.zshrc 〜前略〜 export VOLTA_HOME="$HOME/.volta" export PATH="$VOLTA_HOME/bin:$PATH"
一回Terminalを再起動して、voltaが実行できることを確認。そしてNode.jsがまだないことも確認してみる。
% volta --version 1.0.5 % node Volta error: Node is not available. To run any Node command, first set a default version using `volta install node` Error details written to /Users/abcuser/.volta/log/volta-error-2022-03-16_17_58_33.674.log
この状態だと何もnodeがないので、デフォルトで使うNode.jsをVoltaでインストールしてみる。バージョン指定しないと最新のLTSリリースがインストールされるようです。
% volta install node success: installed and set node@16.14.1 (with npm@8.5.0) as default % node Welcome to Node.js v16.14.1. Type ".help" for more information. > (To exit, press Ctrl+C again or Ctrl+D or type .exit) >
このときのinstallはめちゃめちゃ速く、4秒くらいしかかかっていなかった気がする。速いっていうだけある。
では次に、package.jsonがあるプロジェクトのディレクトリに移動して、そのプロジェクトのNode.jsのバージョンを固定してみます。固定するには volta pin
というコマンドを使います。
% cd [package.jsonがあるプロジェクトのディレクトリ] % volta pin node@12 success: pinned node@12.22.10 (with npm@6.14.16) in package.json
ここではバージョン12にしてみました。先ほど試しにinstallしたバージョンと違いますが、なかったら勝手にインストールもされるようです。この操作の後に package.json を覗いてみると、以下のようにnodeのバージョンが記入されていました。
"volta": { "node": "12.22.10" },
基本的に使い方はこれだけでいいみたいです。簡単で便利ですね。