Aton-Kish / M1 MacにRosettaを使わずにGo/Hugoをインストールする
Created 2021-02-10 22:52:38 Modified 2021-03-14

531 Words

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 バイナリがあったのでこれをダウンロードしてくる

  1. (解凍する)

    tar -zxvf go1.16rc1.darwin-arm64.tar.gz
    
  2. 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
    
  3. 環境変数を設定する

    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 インストール

  1. clone

    git clone https://github.com/gohugoio/hugo.git
    cd hugo
    
    • 適宜バージョン選びましょう
      2021/02/10 現在は0.80.0が最新みたいだったのでこれにします

      git checkout v0.80.0
      
  2. ビルド

    go build
    
    • ディレクトリ内にhugoバイナリが生成されます

      ./hugo version
      Hugo Static Site Generator v0.80.0 darwin/arm64 BuildDate: unknown
      
  3. 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 コマンド使っていきます