※ この記事にはアフィリエイト広告が含まれることがあります。
anyenvの軍門に下る、決意
決意ってほどではないのだけれど、nodebrewではなくてanyenv経由のnodenvにしてみようと思った。
のだけれど、なんだか見つからんと言われたのでした。
$ anyenv install nodenv
anyenv-install: definition not found: nodenvやはりanyenvに近づかなくて良いよ、ということなのでしょう。
Voltaを試してみる
Volta はRust製のJavaScriptコマンドラインツールの管理をしてくれるもの、と書いてあります。
brewでインストールしましたが、curlとbashでインストールする方法がサイトには書いてありました。voltaがインストールできたら、voltaからnodeをインストールできました。バージョンを指定しないと最新のLTSを入れてくれるようです。
$ brew install volta
$ volta install nodenodeはどこに入るのかな?
なんとなくinstallしたのですが、nodeコマンドを叩いても見つからないのです。どこにあるのでしょう?
$ volta which node
/Users/makototsuyuki/.volta/tools/image/node/14.17.2/bin/nodeなるほど、ユーザーホームの下に .volta ってフォルダができてその中に入るんですね。
setupってなんじゃ?
どんなサブコマンドがあるのかなと、とりあえずVoltaと打ってみるなど。ちゃんとドキュメント読めって?
その通りですね。
$ volta
Volta 1.0.4
The JavaScript Launcher ⚡
To install a tool in your toolchain, use `volta install`.
To pin your project's runtime or package manager, use `volta pin`.
USAGE:
volta [FLAGS] [SUBCOMMAND]
FLAGS:
--verbose Enables verbose diagnostics
--quiet Prevents unnecessary output
-v, --version Prints the current version of Volta
-h, --help Prints help information
SUBCOMMANDS:
fetch Fetches a tool to the local machine
install Installs a tool in your toolchain
uninstall Uninstalls a tool from your toolchain
pin Pins your project's runtime or package manager
list Displays the current toolchain
completions Generates Volta completions
which Locates the actual binary that will be called by Volta
setup Enables Volta for the current user / shell
run Run a command with custom Node, npm, and/or Yarn versions
help Prints this message or the help of the given subcommand(s)setupって気になりますな。
$ volta setup
success: Setup complete. Open a new terminal to start using Volta!なるほど。Terminalを開き直して、nodeって打ってみました。
$ node
Welcome to Node.js v14.17.2.
Type ".help" for more information.
>REPLが起動しました。zshを使っているので ~/.zshrc を確認してみました。
末尾に追加されてますね。
export VOLTA_HOME="$HOME/.volta"
export PATH="$VOLTA_HOME/bin:$PATH"なるほど。 $VOLTA_HOME/bin の中はどうなってるのかな?
$ ls -la ~/.volta/bin
total 0
drwxr-xr-x 6 makototsuyuki staff 192 7 4 14:57 .
drwxr-xr-x 9 makototsuyuki staff 288 7 4 13:51 ..
lrwxr-xr-x 1 makototsuyuki staff 47 7 4 14:57 node -> /opt/homebrew/Cellar/volta/1.0.4/bin/volta-shim
lrwxr-xr-x 1 makototsuyuki staff 47 7 4 14:57 npm -> /opt/homebrew/Cellar/volta/1.0.4/bin/volta-shim
lrwxr-xr-x 1 makototsuyuki staff 47 7 4 14:57 npx -> /opt/homebrew/Cellar/volta/1.0.4/bin/volta-shim
lrwxr-xr-x 1 makototsuyuki staff 47 7 4 14:57 yarn -> /opt/homebrew/Cellar/volta/1.0.4/bin/volta-shimついでにyarnとnpmも入れておく
$ volta install yarn
success: installed and set yarn@1.22.10 as default
$ volta install npm
success: installed and set npm@7.19.1 as defaultvolta pinしてみる
yarn initしてpackage.jsonを作ったら、ないしはpackage.jsonがあるプロジェクトフォルダで、
$ volta pin node
$ volta pin npm
$ volta pin yarnとすると、 package.json にvoltaのエントリが追加されているようだ。
"volta": {
"node": "14.17.2",
"yarn": "1.22.10",
"npm": "7.19.1"
}このフォルダで、nodeやyarnなどを実行するとこのpackage.jsonに記載されているバージョンが利用される、ということのようだ。なるほどなるほど。
別のことをしようとしてるのだけれど、node入れるだけでなんか時間をくってしまった。