grasys blog

ターミナルがダサいとモテない。gobrew で go の version 管理。goenv を廃止するぞ編

goenv をやめたい。anyenv 依存をやめたい。

みなさんは go の version manager は何を使っていますか?

Photo by David Thielen on Unsplash

青いネズミなんていない。。

恵比寿で 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 を廃止するぞ編


採用情報
お問い合わせ