実際の解決策:
私は問題を再現しました:
- 1.1.2を直接呼び出す(パスに
go.exe
ありませんでした)%GOROOT%\bin
- 以前の
GOROOT
1.1.1 インストール フォルダーを指定して (私は go 1.1.1 と 1.1.2 を別のフォルダーにインストールしたままにしました)。
デフォルトの go セットアップ (つまり、 1 つの C:\go
インストール ディレクトリ、および%GOROOT%\bin
内PATH
) に固執している場合、このエラーは表示されません。
ただし、このエラーが表示される場合:
- あなたが呼んでいる
%GOROOT%
と一致していることを確認してくださいgo.exe
go install -a
以下で説明するように。以下go clean
は必要ありません。jnmlコメント
として:
Go ビルド システムは、時代遅れのものを把握し、$GOPATH/pkg
必要に応じて (推移的に) 再構築することになっています。
元のソリューション:
「 Command go 」ページの「Remove object files」セクションで、次のオプションを見逃していました。go clean -i
-i
この-i
フラグにより、clean は、対応するインストール済みアーカイブまたはバイナリ (「go install」が作成するもの) を削除します。
そして、これらの.a
ファイル (hopwatch.a など) は、まさに go install が (Windows の) ライブラリ用に生成するものです。
したがって、すべてを確実に再構築するための完全なクリーン コマンドは次のようになります。
cd C:\Users\VonC\prog\go\src\github.com\spf13\hugo
go clean -r -i
go install -a
これにより、すべての依存パッケージを含むすべてが再構築およびインストールされます。
これ-a
は実際にはビルド オプションであり、既に最新のパッケージを強制的に再ビルドします。
いつものように、何がクリーンアップされるかが表示されます ( go clean -r -n
:プレビュー-n
オプション)。
実際に何かを削除する前に、何が削除されるかを確認しても問題ありません。