2016-04-02 8 views
1

コンパイルの高速化のためにgo 1.6から1.4.2に切り替えました。 - エラーなしで動作します異なるオブジェクトバージョン間でインポートオブジェクトが予想される

import go/pkg/darwin_amd64/github.com/Sirupsen/logrus.a: object is 
[darwin amd64 go1.6 X:none] expected [darwin amd64 go1.4.2 X:precisestack] 

私はすでにgo build -a試してみました:私は、1.6以前のコンパイルされたバイナリを再コンパイルするとき、私は次のエラーを取得します。また、go install -ago buildを試してみました。これらのコマンドの両方が上記のエラーを投げます。

私は既にgo/pkgフォルダで削除すると、それが動作することを知っています。これはalready existing SO question

pkgフォルダを削除する以外に、goツールを使用してこれを解決する別の方法がある場合は、知りたいと思っていました。

答えて

3

これはおそらく以前のコンパイルによるものです。あなたの$ GOLANG/pkgを削除すればいいです!

another way to resolve this using go tools, other than deleting the pkg folder.

このコーナーユースケースを処理するためにgoツールチェーンが変更される可能性は低いです。

+0

はい、すでに私の質問で指摘したように、私は 'pkg'を削除すると動作することを知っています。私はこれを解決する方法を見つけたいのは、単に 'go'ツールを使うだけで、よりクリーンな方法です。 – Hugo

+3

これを解決する難しい方法を見つけようとしているのはなぜですか?この場合、pkgディレクトリを削除するだけで安全です。これはあなたが探していることを行う唯一の方法です。あなたがしようとしていることは、典型的なユースケースに収まらず、現在のツールチェーンに機能を追加することによって解決されるとは思えません。 – Laurent

+0

ええ、一般的な使用例ではないかもしれませんが、 '-a'を実行して、依存パッケージを正しく再構築してインストールしないでください。そして、ツールチェインになると、複数のバージョンにまたがってどのように作業できるかを定義した一連のガイドラインがあります。私は個人的に開発者として、これは問題ありません。しかし、私は実行可能ファイルを使用しているだけで、開発者には行かないすべてのチームメンバーと通信できる一般的なソリューションを用意したいと思っていました。 – Hugo

関連する問題