🙆
Proto : JSツールチェインのバージョンマネージャ
JSツールチェインのバージョンマネージャは Proto がオススメです。
(自分は以前から愛用しています。)
Volta と違い、uninstall コマンドがあり、Deno や Bun や PNpm etc に
対応しています。
(Volta は 試用時、uninstallコマンドがなく、既に開発が停滞していたので、
アンインストールしました。)
Rust で実装されています(Voltaと同じ)。
オススメはしませんが、Rust、Go、Python のバージョン管理も行えます。
(Python については、現在、experimental)
インストール
Linux, macOS, WSL
curl -fsSL https://moonrepo.dev/install/proto.sh | bash
macOS + Homebrew
brew install proto
Windows
irm https://moonrepo.dev/install/proto.ps1 | iex
Windowsの場合には、shimsフォルダに対して?下記コマンドによる実行権限の
付与が必要です。
Set-ExecutionPolicy RemoteSigned
# Without admin privileges
Set-ExecutionPolicy -Scope CurrentUser RemoteSigned
環境設定
Linux, macOS, WSL
シェルの設定ファイル(~/.bashrc(Linuxの場合) or ~/.zshrc(macOSの場合))
に対して、下記の環境変数を追加し、
export PROTO_HOME="$HOME/.proto"
export PATH="$PROTO_HOME:$PROTO_HOME/shims:$PROTO_HOME/bin:$PATH"
シェルに反映します。
source ~/.bashrc (Linuxの場合)
source ~/.zshrc (macOSの場合)
アップグレード
proto upgrade
アンインストール
~/.proto ディレクトリ を削除し、proto用の環境変数をシェルの設定ファイル
から除去する。
ツールのインストール
proto install ツール名 # 最新バージョンのインストール
proto install ツール名 latest # 最新バージョンのインストール
proto install ツール名 バージョン番号 # 指定したバージョンのインストール
ツール名 = node / npm / pnpm / yarn / deno / bun etc
ツールのバージョンの固定
proto pin ツール名 バージョン番号 # 実行したディレクトリでのバージョン固定
proto pin ツール名 バージョン番号 --global # グローバルでのバージョン固定
ツール名 = node / npm / pnpm / yarn / deno / bun etc
ツールのインストール + バージョン固定 (0.31以降)
proto install ツール名 --pin # 最新バージョン(グローバル)
proto install ツール名 バージョン番号 --pin # 指定したバージョン(グローバル)
proto install ツール名 --pin global # 最新バージョン(グローバル)
proto install ツール名 バージョン番号 --pin global # 指定したバージョン(グローバル)
proto install ツール名 --pin local # 最新バージョン(ローカル)
proto install ツール名 バージョン番号 --pin local # 指定したバージョン(ローカル)
ツール名 = node / npm / pnpm / yarn / deno / bun etc
ツールのアンインストール
proto uninstall ツール名 # ツールのアンインストール
proto uninstall ツール名 バージョン番号 # ツールの特定バージョンのアンインストール
ツール名 = node / npm / pnpm / yarn / deno / bun etc
ツールのインストールしたバージョンの一覧
v0.30.2
proto tool list ツール名 # 特定ツールのみ
proto tool list # 全ツール (ツール毎)
v0.31 以降
proto plugin list ツール名 --aliases --versions ツール名 # 特定ツールのみ
proto plugin list --aliases --versions # 全ツール (ツール毎)
ツール名 = node / npm / pnpm / yarn / deno / bun etc
サポートされているツール
Discussion