[解決済み] 全モジュールのアップデートを行う
質問
このモジュールを例にとると(他の人にもわかるように特定のコミットで を参照してください)。
git clone git://github.com/walles/moar
Set-Location moar
git checkout d24acdbf
私はGoに"update everything"を指示する方法が欲しいです。このモジュールは
は、すべての最新バージョンで動作します。以下は、私が見つけた5つの方法です。
それぞれをクリーンなクローン上で実行すると仮定します。この結果
go.mod
の19
の行があります。
go get -u
この結果
go.mod
を14行に分割しています。
go get -u
go mod tidy
この結果
go.mod
を13行に分割しています。
go mod tidy
をすべて手動で削除すると
require
を実行し
go mod tidy
となります。
12行です。もし私が手動で
require
を実行し
go get -u
11行になります。質問ですが、なぜこれらの方法が異なる
また、私が行おうとしていることを行うための正しい方法は何でしょうか?
どのように解決するのですか?
tl;dr;
ということです。
go get -u
go mod tidy
あなたが見ている不整合は、ソフトウェアが本来持っている有機的な性質に起因しています。
あなたの例では、コミット
d24acdbf
の
git://github.com/walles/moar
を実行せずにメンテナがチェックインした可能性が高いです。
go mod tidy
(19行と長いのはそのためです)。もしメンテナがそうしていれば、最後に表示される13行のバージョンを見ることができます。
go get -u
は、それだけで依存関係をより積極的に引き込むことができます。また、依存関係を最新(互換)バージョンに更新するだけで、それ自体が新しい直接・間接的な依存関係を引き込む可能性があります。これらの依存関係は、もし明日これを試したら、さらに大きくなるかもしれません(あるサブ依存関係の最新バージョンは新しい機能を追加するので、新しい依存関係を必要とします)。ですから、レポのメンテナが特定の(最新ではない)バージョンで修正するのには、正当な理由があるのでしょう。
ゴー・モッド・ティディ は、この積極的な依存性分析をクリーンアップします。
追伸:よくある誤解なのですが、依存関係が縮小するのは
go mod tidy
: 追跡
go.sum
の後、このファイルが大きくなる場合があります。
tidy
(ただし、この場合ではありません)
関連
-
[解決済み] 構造体のマップのデフォルト値は何ですか?
-
[解決済み] go run: 非メインパッケージは実行できません
-
[解決済み] キューの実装はありますか?
-
[解決済み] go get でパッケージをインストールするにはどうしたらいいですか?
-
[解決済み] インポートサイクル不可
-
[解決済み] ローカルにインストールされたPythonモジュールの一覧を取得するにはどうしたらいいですか?
-
[解決済み] 親フォルダからモジュールをインポートする
-
[解決済み】C言語の三項演算子に相当するGoの慣用句は何ですか?
-
[解決済み】ルーンとは何ですか?
-
[解決済み】Goはサードパーティ・パッケージをどのようにアップデートしますか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] インポート "google/api/annotations.proto" が見つからないか、エラーが発生しました。依存関係として追加するにはどうすればよいですか?
-
goland reports an error: package XXX is not in GOROOT (X:\XXXGo ╱src╱XXX)
-
[解決済み] Goでfloat64をintに変換する
-
[解決済み] go get を使って特定のバージョンのパッケージをインポートするにはどうすればよいですか?
-
[解決済み] golangでリーズナブルなスタック実装をお探しですか?
-
[解決済み] Goでオブジェクトの型を見つけるには?
-
[解決済み] コンソールで標準入力から読み込むにはどうすればよいですか?
-
[解決済み】init()関数はいつ実行されるのですか?
-
[解決済み】Goはサードパーティ・パッケージをどのようにアップデートしますか?
-
[解決済み】スライスの最後の要素を取得する方法は?