2021/04/29

[golang]GO111MODULEはまだ使う

お仕事でgolangのプロジェクトをビルドしていた。
ビルドするだけなので手順通りにやったつもりなのだが、srcの下にファイルがないから取ってこい、みたいなエラーが出ていた。

実際にないので、go getで取ってくる。
ドキュメントを見ると -d でソースコードをダウンロードしてくれるようだ。

The -d flag instructs get not to build or install packages. get will only update go.mod and download source code needed to build packages.

が、実行して src/ の下を見てもダウンロードされていない。 pkg/mod/ の下にありそうなのだが、そこでは困るのだ。

 

ドキュメントに Legacy GOPATH go get というのがある。 gopath-get と書いてあるのだが、そんなものはない。

module-aware mode と legacy GOPATH mode というのがあるのだろうけど、go get のオプションが違うわけでもないし、何だかよくわからん。

 

そこで出てきたのが、 GO111MODULE=off だ。
これを指定すると src/ の方にダウンロードしてくれた。これが legacy というやつなのかね。

GO111、と妙にバージョンに依存した書き方になっているから不要になったのかと思ったが、まだそうもいかんようだ。全部がgo modを使う世界になったら不要になるとかなのかもしれん。

 

 

あと、gomobileか何かで Androidのをビルドしていたのだけど、そこで i386 でのビルドもしているためか GO386=GO387 はサポートしてない、というエラーになってしまった。
go v1.16からそうなったらしい。

GO386=softfloat、みたいにしておけば回避できるので、今回はそれで逃げよう。

0 件のコメント:

コメントを投稿

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。

注: コメントを投稿できるのは、このブログのメンバーだけです。