M1 Mac に Rosetta を使わずに Go/Hugo をインストールする
asdfで色々とバージョン管理していこうと思って導入したが、 asdf を通した Go, Hugo のインストールに失敗してしまった…
どうやら x86-64 バイナリをインストールしようとしてしまうみたい
もしかして Homebrew でいける? asdf で管理すると決めたんだ…!
Go インストール
まずは Go をインストールする
Go ダウンロードページで macOS/ARMv8 用のバイナリを探す
2021/02/10 現在では 1.16rc1 に macOS/ARMv8 バイナリがあったのでこれをダウンロードしてくる
(解凍する)
tar -zxvf go1.16rc1.darwin-arm64.tar.gz
asdf で管理している風を装う(しなくてもよい)
asdf plugin add golang mkdir -p ~/.asdf/installs/golang/1.16rc1 mv go ~/.asdf/installs/golang/1.16rc1/ cp ~/.asdf/installs/golang/1.16rc1/go/bin/* ~/.asdf/shims/ asdf global golang 1.16rc1
環境変数を設定する
echo 'export GOROOT=$(asdf where golang)/go' >> ~/.zshrc echo 'export GOPATH=$(asdf where golang)/packages' >> ~/.zshrc
これで Go の asdf を装ったインストール完了です
ターミナルを再起動するか.zshrc
を読み込み直します
. ~/.zshrc
バージョン確認
go version
go version go1.16rc1 darwin/arm64
Hugo インストール
clone
git clone https://github.com/gohugoio/hugo.git cd hugo
適宜バージョン選びましょう
2021/02/10 現在は0.80.0
が最新みたいだったのでこれにしますgit checkout v0.80.0
ビルド
go build
ディレクトリ内に
hugo
バイナリが生成されます./hugo version Hugo Static Site Generator v0.80.0 darwin/arm64 BuildDate: unknown
asdf で管理している風を装う(しなくても…)
asdf plugin add gohugo mkdir -p ~/.asdf/installs/gohugo/0.80.0/bin mv hugo ~/.asdf/installs/gohugo/0.80.0/bin/ cp ~/.asdf/installs/gohugo/0.80.0/bin/hugo ~/.asdf/shims/ asdf global gohugo 0.80.0
これで Hugo の asdf を装ったインストールも完了です
バージョン確認
hugo version
Hugo Static Site Generator v0.80.0 darwin/arm64 BuildDate: unknown
今後は…
今後 asdf が正式に対応したら大人しく asdf コマンド使っていきます