目次
goenv をやめたい。anyenv 依存をやめたい。
みなさんは go の version manager は何を使っていますか?

青いネズミなんていない。。
恵比寿で IT 企業をやっているとモテると聞いて創業しましたが早いことありがたいことに 10 年目に突入した長谷川です。
まだモテる成果は出ていません、、、これからです!(もうめんどくさいのでカウントやめましたw)
今回は anyenv をやめたくて goenv をやめたくて gobrew というのに移行してみたのでそれを紹介していきます。
GitHub – kevincobain2000/gobrew: Go version manager, written in Go. Super simple tool to install…
比較的新しくて更新もされてます。
Install
実際に README に書いてある通りに実行していきましょう。
GitHub – kevincobain2000/gobrew: Go version manager, written in Go. Super simple tool to install…
curl -sL https://raw.githubusercontent.com/kevincobain2000/gobrew/master/git.io.sh | bash
確認してみましょう。
ls .gobrew/bin/gobrew
存在すれば Install されています。
PATH
PATH を通しましょう。
.bashrc や .bash_profile などに
# gobrew
if [ -d ${HOME}/.gobrew ]; then
declare -x GOBREW_ROOT="${HOME}/.gobrew"
declare -x PATH="${GOBREW_ROOT}/current/bin:${GOBREW_ROOT}/bin:${PATH}"
fi
Help
まずは Help をみてみましょう。
ls-remote で Install できる go version の一覧ができますね
list で入ってる一覧が見れて
prune でいらない go version 消せて
self-update で gobrew自体の update もできる。
gobrew -h
gobrew 1.10.11
Usage:
gobrew use <version> Install and set <version>
gobrew ls Alias for list
gobrew ls-remote List remote versions (including rc|beta versions)
gobrew install <version> Only install <version> (binary from official or GOBREW_REGISTRY env)
gobrew uninstall <version> Uninstall <version>
gobrew list List installed versions
gobrew self-update Self update this tool
gobrew prune Uninstall all go versions except current version
gobrew version Show gobrew version
gobrew help Show this message
Options:
gobrew [--clear-cache | -c] clear gobrew cache
gobrew [--disable-cache | -d] disable gobrew cache
gobrew [--ttl=20m | -t 20m] set gobrew cache ttl, default 20m
Examples:
gobrew use 1.16 # use go version 1.16
gobrew use 1.16.1 # use go version 1.16.1
gobrew use 1.16rc1 # use go version 1.16rc1
gobrew use 1.16@latest # use go version latest of 1.16
gobrew use 1.16@dev-latest # use go version latest of 1.16, including rc and beta
# Note: rc and beta become no longer latest upon major release
gobrew use mod # use go version listed in the go.mod file
gobrew use latest # use go version latest available
gobrew use dev-latest # use go version latest avalable, including rc and beta
Installation Path:
# Add gobrew to your ~/.bashrc or ~/.zshrc
export PATH="$HOME/.gobrew/current/bin:$HOME/.gobrew/bin:$PATH"
export GOROOT="$HOME/.gobrew/current/go"
Install go latest version
PATH も通したので、早速最新の go を install してみましょう。
gobrew では最新を簡単に指定できます。
gobrew install latest
とするだけです。
Install された go を使うか聞かれるので Y で良いと思います。
which go
とすると PATH が通ったところに go が install されているのがわかると思います。
gobrew use
明示的に指定しておきましょう
gobrew use latest
2024/10/08 時点では 1.23.2 が最新
gobrew use latest
==> [Info] Version: 1.23.2 exists
==> [Info] Version: 1.23.2 is already your current version
gobrew
GO Installed Version ....... 1.23.2
GO go.mod Version ....... None
GO Latest Version ....... 1.23.2
Appendix: go-global-update
自分は go の tool類の update がめんどくさいので go-global-update を使っています。
GitHub – Gelio/go-global-update: A command to update globally installed go executables
Instaration
GitHub – Gelio/go-global-update: A command to update globally installed go executables
ここまでで go も入ってると思うのでおもむろに go install しましょう。
go install github.com/Gelio/go-global-update@latest
go-global-update 便利です。
私は別で紹介した topgrade でも commands で呼んでたりします。
これで goenv から開放され、anyenv から完全に開放された〜〜!
何か問題あったら goenv に戻ったりして・・・
ターミナル環境について他の記事も書いているので、よろしければこちらもご覧ください!
『ターミナルがダサいとモテない』シリーズ一覧
転載:ターミナルがダサいとモテない。gobrew で go の version 管理。goenv を廃止するぞ編

