Input中心のブログ

Windowsでlinux用にGoのクロスビルドする

December 29, 2020

WindowsからRaspberry PI用のgoのバイナリをビルドする方法が分からなかったのでメモ。 shellとかでやる場合は以下のように出来る。 正直wslを使えばそれで解決なんだけどもなんか悔しかったのでpowershellでやる方法もメモっとく。

$ GOOS=linux GOARCH=arm go build

普通にpowershellでenvを設定する方法みたいな感じだけども。 この環境変数設定方法は、powershellのセッション内だけで有効らしい。

> $env:GOOS = "linux"
> $env:GOARCH = "arm"
> go build

環境変数を取り除く場合は

# $env:GOOSとすると、環境変数を代入してしまうので注意
> Remove-Item env:GOOS

# 僕の環境だとrmでも行ける
> rm env:GOOS

普段からshellに馴染みがある身からすると、ファイル削除とかを行うRemove-Itemで環境変数を消すのは気持ち悪いなあというのが感想。最近Windowsの癖とかが分かってきて楽しい反面、Linuxの方が楽だなあと思っている。