LoginSignup
42
39

More than 5 years have passed since last update.

GOでgo getしたパッケージの更新

Last updated at Posted at 2014-10-05

背景

goでOpenGLやってみようと、go-glを試すも、exampleのtriangle.goがちっとも動かない。しかも

よく見ると、ログ吐くのに失敗しているように見える。

go version

で調べてみると、最新版でないGoだったので、Go本体をアップデートした。

自前で入れたパッケージがバージョンエラー

go run triangle.go 
# command-line-arguments
./triangle.go:10: import /Users/kjw_junichi/gocode/pkg/darwin_amd64/github.com/andrebq/gas.a: object is [darwin amd64 go1.3 X:precisestack] expected [darwin amd64 go1.3.3 X:precisestack]

Stackoverflowで回答見つけるも

go get -u all

で行けるように、思われたが、ダメだった。

Workaround

文句言われてる、xx.aファイルを削除しては、go runを繰り返すことで解決した。

rm /Users/kjunichi/gocode/pkg/darwin_amd64/github.com/andrebq/gas.a
go run triangle.go
# command-line-arguments
./triangle.go:11: import /Users/kjunichi/gocode/pkg/darwin_amd64/github.com/go-gl/gl.a: object is [darwin amd64 go1.3 X:precisestack] expected [darwin amd64 go1.3.3 X:precisestack]
rm  /Users/kjunichi/gocode/pkg/darwin_amd64/github.com/go-gl/gl.a
go run triangle.go 

まとめ

結局、目的のtriangle.goはエラーが解消しなかったが、
Goで、本体を更新した際のローカルに入れたパッケージのスマートな更新方法は
どうやるのだろう?

Goは入れっぱなしで放置していた為、
この疑問すら、今回の作業まで持たずにいた。やはり、何事も手を動かすことが大事だ。

link

関連記事

42
39
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
42
39