go module使用チュートリアル


GOPATHモードを使用してGolangプログラムを開発している場合は、この文書を参照してGOPATHに別れを告げ、便利なパッケージ管理ツールを提供することができます.
go modの説明と簡単な使用については、以下を参照してください.
1、Go 1.1.1新機能moduleの紹介と使用についてはリンクの説明を追加してください
2、Introduction to Go Modulesリンク説明を追加してください
3、Go 1.11 Modules公式説明ドキュメントリンクの説明を追加してください
go Modules-ModulesはGo 1.11に新たに追加された実験的機能であり、新しいパッケージ管理ツールである.具体的な操作:まずgoを1.11にアップグレードします
アップグレード後、modulesをアクティブにするには、環境変数GO 111 MODULEを設定します.
export GO111MODULE=on //  go   modules,    GOPATH     。
一般的にデフォルトでは、go 111 MODULE=autoです.goコマンドラインは、現在のディレクトリに基づいてmodule機能を有効にするかどうかを決定します.この場合、現在のディレクトリがGOPATH/srcの外にあり、そのディレクトリにgo.modファイルが含まれているか、現在のファイルがgo.modファイルが含まれているディレクトリの下にあるかの2つのケースに分けることができます.
GO 111 MODULE=offの場合、goコマンドラインはmodule機能をサポートしません.依存パッケージを探す方法は、vendorディレクトリまたはGOPATHモードで古いバージョンで検索されます.
module機能が有効になっている場合、GOPATHはプロジェクト構築中にimportの役割を果たしませんが、$GOPATH/pkg/modのダウンロード依存パッケージを格納します.
次に
プロジェクトの名前がhelloworldであると仮定します.1.modを初期化する:
go mod init helloworld
初期化するとgo.modファイルが生成されます.その後go buildを実行し、go.modファイルを再度表示して、go.sumファイルを生成しながら、依存パッケージのリストとバージョンをいくつか発見します.go.sumは、現在キャッシュされているモジュールを検証するためのモジュールバージョンコンテンツの検証値です.go.sumには、go.modよりも直接依存および間接依存のパケットの情報が含まれています.2.ダウンロード依存
go mod download
3.共通命令
go mod init        initialize new module in current directory         mod

go mod tidy //       ,       。

go mod download //     

go mod vendor //      vendor 

go mod verify //    

go list -m -json all //    

go mod graph //       

go mod why //         
3.いくつかのパッケージが壁に張られていて、引き出せないので、golangのエージェントを以下のURLで構成することができます.
https://github.com/goproxy/goproxy.cn/blob/master/README.zh-CN.md
4.バージョン管理
go getパッケージは、最新の依存パッケージをデフォルトでダウンロードし、go.modにバージョン番号を記録します.tagがある場合は、最新のtagパッケージを引き出します.固定commitのパッケージrequire github.com/docker/docker e 7 b 5 f 7 dbe 98 c(commit)go.modを使用すると、対応するpseudo-versionsのパッケージバージョンの公式ドキュメントに自動的に更新されます.https://tip.golang.org/doc/go1.13#version-validation
5.備考devモードで$GOPATH依存パケットが$GOPATH/pkgの下に保存されることを指定する必要がある
cd $GOPATH
ls
bin pkg src
go関連キットがある場合はsrcの下のキットを使用します
6.質問---beegoは、以前の$GOPATH/srcディレクトリの下でプロジェクトを探してapiドキュメントを生成する方法を自動的に生成できません.1.プロジェクトは$GOPATH/src 2.go mod export GO 111 MODULE=off 3を閉じてください.bee generate docsを実行します.サードパーティ依存が見つからない場合
package 'github.com/beego/i18n' does not exist in the GOPATH or vendor path
go get github.com/beego/i 18 nを実行すると、依存パッケージが$GOPATH/srcにダウンロードされ、ドキュメント生成コマンドの実行が完了します.プロンプトは次のとおりです.
2020/02/27 18:44:56 SUCCESS  ▶ 0036 Docs successfully generated!
7.go.mod beegoバージョンはbeegoバージョンgomod構成を強制的に更新する1.7.1 go buildまたはbee runのたびに1.12.0(1)bee runに強制的に更新してsrcのバージョンを使用する.このブランチがdevlopで1.12.0(2)bee 1.12.0であるため「github.com/astaxie/beego/context/param」(3)このパッケージを使用するには1.12.0が必要である
8.go version go 1.13.8を使用して更新する依存は、プライベートウェアハウスがverifying 410[アドレス]goneのエラーを報告することです.解決策:export GO 111 MODULE=onexport GOPROXY=directexport GOSUMDB=off