Closed6
JS類をまとめて管理するツールprotoを試してみる
ランタイムとかパッケージマネージャを一元管理できるツールらしい
一応pythonとかgolangとかもできるらしい
brewで管理したいが公式ではサポートしていないみたい
なのでbrew tap
を用いて頑張る
※brew tap
に関してはこの記事が参考になった
zsh
brew tap moonrepo/proto https://github.com/moonrepo/proto
brew install proto
proto setup
nodeを入れてみる
zsh
proto install node
# [ INFO 2024-03-10 04:21:49.703] proto::commands::install:install Node.js has been installed to ~/.proto/tools/node/21.7.1!
zsh
node --version
# v21.7.1
使用バージョンを固定してみる
ディレクトリ毎に使用するバージョンを変えたい時は--global
オプションを削除し使用したいディレクトリでpin
コマンドを実行する
zsh
proto pin node 21 --global
# [ INFO 2024-03-10 04:38:23.501] proto::commands::pin:pin Set the Node.js version to ~21
zsh
cat .ptorotools
───────┬─────────────────────────────────────────────────────────────────────────
│ File: .prototools
───────┼─────────────────────────────────────────────────────────────────────────
1 │ node = "~21"
───────┴─────────────────────────────────────────────────────────────────────────
エイリアス機能もあるらしい
やってみる
The proto alias <tool> <label> <version> (or proto a) command will define a custom alias that maps to a specific version for the provided tool. Aliases can be used anywhere a version is accepted.
同じく--global
を削除すると実行したディレクトリのみで設定したエイリアスが使用できる
zsh
proto alias node n 21 --global
# [ INFO 2024-03-10 04:44:00.409] proto::commands::alias:alias Added alias n (~21) for Node.js
zsh
n --version
# zsh: command not found: n
う〜〜んこのエイリアスはnode
コマンドのエイリアスって訳じゃないのかな
もしかしたら同じところが作ってるmoonで使えるやつなのかも
moonはモノレポの管理ツールでnpmとかyarnのワークスペース機能みたいな感じらしい(違うかも
ところでツールチェインってなに?ってなったのでGPT-4に聞いてみた
ツールチェインとは、ソフトウェア開発において、プログラムを作成するために必要な一連のツールの集合のことです。
らしい
fmfm
このスクラップは6ヶ月前にクローズされました