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

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

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

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

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

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…

Plain text
curl -sL https://raw.githubusercontent.com/kevincobain2000/gobrew/master/git.io.sh | bash

確認してみましょう。

Plain text
ls .gobrew/bin/gobrew

存在すれば Install されています。

PATH

PATH を通しましょう。
.bashrc や .bash_profile などに

Plain text
# 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 もできる。

Plain text
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 では最新を簡単に指定できます。

Plain text
gobrew install latest

とするだけです。

Install された go を使うか聞かれるので Y で良いと思います。

Plain text
which go

とすると PATH が通ったところに go が install されているのがわかると思います。

gobrew use

明示的に指定しておきましょう

Plain text
gobrew use latest

2024/10/08 時点では 1.23.2 が最新

Plain text
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 しましょう。

Plain text
go install github.com/Gelio/go-global-update@latest

go-global-update 便利です。

私は別で紹介した topgrade でも commands で呼んでたりします。

関連記事『topgradeでupdate管理編 part2』のアイキャッチ

ターミナルがダサいとモテない。topgrade で update 管理編 part2

これで goenv から開放され、anyenv から完全に開放された〜〜!

何か問題あったら goenv に戻ったりして・・・

ターミナル環境について他の記事も書いているので、よろしければこちらもご覧ください!
『ターミナルがダサいとモテない』シリーズ一覧

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