Edited at

vgo requires Go 1.10 but VGOROOT is not a Go 1.10 source tree

More than 1 year has passed since last update.


環境

Go 1.10.3


エラー

vgoを使おうとすると

vgo requires Go 1.10 but VGOROOT is not a Go 1.10 source tree

と表示される


原因

vgoはGoのバージョンが1.10かどうかを

$GOROOT/api/go1.10.txt

が存在するかで判断する

go1.10.txt

パッケージには含まれないので (ソースからインストールすれば手に入る)

パッケージマネージャーを使ってGoをインストールした場合

vgoはファイルを見つけられずに

エラーになる


解決策

2通りある


  • Goをソースからインストールする


  • $GOROOT/api/go1.10.txtを作る

私は後者で解決しました

sudo touch $GOROOT/api/go1.10.txt

vgoはファイルが存在するかではなく

go versionの結果でGoのバージョンを判断するべきですね〜


参考

https://github.com/golang/go/issues/24773