動かざることバグの如し

近づきたいよ 君の理想に

ameshをDocker上でビルドする

東京の雨雲状況をターミナル上で確認できるameshという素晴らしいコマンドがある。

github.com

みんな大好き東京アメッシュ http://tokyo-ame.jwa.or.jp/CLIで表示

iterm2だとこんな感じ f:id:thr3a:20210501155445p:plain

だが、通常だとgo環境が入っていないとインストールできない。goではバイナリにビルドすれば動くのが強みなので自分でビルドしてみる。

ちなみにDockerイメージも公式でリリースはされているが、1コマンドに300MB近くも容量喰うのは微妙だし、何より起動までが遅い。

準備

まずはgolangが動かせる環境を用意する

成果物をMac側に持っていきたいのでカレントディレクトリをマウントする形になる。以下

docker run -it --rm -w /app -v $(pwd):/app golang:1-buster sh

Dockerコンテナ内でgit clone

git clone https://github.com/otiai10/amesh.git
cd amesh

ビルド

いざビルド

# GOOS=darwin GOARCH=amd64 go build -o amesh main.go
no required module provides package main.go: go.mod file not found in current directory or any parent directory; see 'go help modules'

必要なモジュールをインストールする必要があるらしい

以下のコマンドで依存パッケージのインストール

go get -v -t

再度

GOOS=darwin GOARCH=amd64 go build -o amesh main.go

今度はうまく行けた

あとはMac側で

mv amesh /usr/local/bin/

して、ameshコマンドがたたければ成功