インストール
構成環境
ゴーモジュールを有効にします
go mod
ではGo >= 1.13
のみで、デフォルトで有効になってGo >= 1.11
サポートするために始めていますgo mod
。
環境変数の設定
# 启用go module
export GO111MODULE=on
# 设置GOPATH,开启go mod之后,这个目录主要用来存放依赖包
export GOPATH=~/go_modules
# 设置go代理,在运行go test/build等时会自动下载依赖
# 使用go get下载依赖需要在GOPATH中执行才会使用代理
export GOPROXY=https://goproxy.io
MOD使用を行きます
で$GOPATH/src
ディレクトリを作成する以外の任意のディレクトリ、
mkdir -p /home/gopher/project
cd /home/gopher/project
このディレクトリは、ディレクトリ管理内のmodファイルを作成し、プロジェクトのルートディレクトリです
go mod init project
あなたはgithubの上でこのプロジェクトを置く場合は、ファイルを作成するとき、あなたはあなたのgithubのプロジェクトのために、プロジェクト名を書くことができます
go mod init github.com/YourName/project
go.mod
初期の内容はcat go.mod
次のとおりです。
module project
go 1.12
go.mod
あなただけがプロジェクトのルートディレクトリにプロジェクトで、一度作成する必要がありGo
、自動的にすべての現在のディレクトリを見つける父级目录
あなたが見つけるまでgo.mod
。
パッケージ定義とパッケージカスタムに導入
唯一の定義されたパッケージによってディレクトリ
比如在project项目中有了一个hello.go的文件,文中定义了package hello, 这样,当你再在project中创建了一个world.go的文件,其中定义了package world会报错,无法加载package
各パッケージには、ディレクトリに、定義されています。パッケージで定義された同じディレクトリ名とパッケージ名をお勧めします。
project ├── go.mod ├── hello │ ├── hello.go │ └── hello1.go ├── main.go └── world ├── world.go └── world1.go 其中hello目录中所有文件的包定义均为package hello,hello目录中所有文件的包定义均为package world
MOD管理を行きます
新しいモジュールを作成します。
# 创建了一个新的模块,初始化 `go.mod` 文件并且生成相应的描述 go mod init
依存関係を追加
# build,test和其它构建代码包的命令,会在需要的时候在go.mod文件中添加新的依赖项 # 最好不要自己修改go.mod文件,因为在Go在向go.mod中添加依赖项的时候 # 同时会向go.sum中的hash对比,确定依赖是否修改。 go build go test
現在のすべての依存関係を見ます
# 列出了当前模块所有的依赖项 go list -m all
指定した依存関係のバージョンを変更します(または新しい依存関係を追加)
# 修改或添加 # go get -u 会更新依赖 # 获取指定版本的形式 go get rsc.io/[email protected] go get
未使用の依存関係を削除します
go mod tidy