Voltaを試してみる

2021/07/04 15:14

※ 商品のリンクをクリックして何かを購入すると私に少額の報酬が入ることがあります【広告表示】

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 node

nodeはどこに入るのかな?

なんとなく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 default

volta 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入れるだけでなんか時間をくってしまった。

Prev Entry

Next Entry