add go module support zh/01.2.md
This commit is contained in:
79
zh/01.2.md
79
zh/01.2.md
@@ -1,8 +1,80 @@
|
||||
# 1.2 GOPATH与工作空间
|
||||
# 1.2 Go Module, GOPATH 与工作空间
|
||||
|
||||
前面我们在安装Go的时候看到需要设置GOPATH变量,Go从1.1版本到1.7必须设置这个变量,而且不能和Go的安装目录一样,这个目录用来存放Go源码,Go的可运行文件,以及相应的编译之后的包文件。所以这个目录下面有三个子目录:src、bin、pkg
|
||||
从 Go1.11 开始, Go 官方加入 Go Module 支持, Go1.12 成为默认支持; 从此告别源码必须放在 Gopath 中
|
||||
以及 Gopath 对初学者造成的困扰.
|
||||
|
||||
从go 1.8开始,GOPATH环境变量现在有一个默认值,如果它没有被设置。 它在Unix上默认为$HOME/go,在Windows上默认为%USERPROFILE%/go。
|
||||
## 使用 Go Module
|
||||
|
||||
由于众所周知的原因, 要顺利安装 Go Module 的包, 需要先设置代理:
|
||||
|
||||
公共模块代理:
|
||||
```sh
|
||||
export GOPROXY=https://goproxy.io // 也可以设置为 https://goproxy.cn 或者其他
|
||||
```
|
||||
|
||||
私有模块代理:
|
||||
```sh
|
||||
export GOPRIVATE=git.xxx.com
|
||||
```
|
||||
|
||||
初始化:
|
||||
```
|
||||
go mod init [module 名称]
|
||||
```
|
||||
|
||||
检测和清理依赖:
|
||||
```
|
||||
go mod tidy
|
||||
```
|
||||
|
||||
安装指定包:
|
||||
```
|
||||
go get -v github/com/go-ego/gse@v0.60.0-rc4.2
|
||||
```
|
||||
|
||||
### 更新依赖
|
||||
```
|
||||
go get -u
|
||||
```
|
||||
更新指定包依赖:
|
||||
```
|
||||
go get -u github.com/go-ego/gse
|
||||
```
|
||||
指定版本:
|
||||
```
|
||||
go get -u github/com/go-ego/gse@v0.60.0-rc4.2
|
||||
```
|
||||
|
||||
### Replace:
|
||||
|
||||
使用命令行:
|
||||
```
|
||||
go mod edit -replace github.com/go-ego/gse=/path/to/local/gse
|
||||
go mod edit -replace github.com/go-ego/gse=github.com/vcaesar/gse
|
||||
```
|
||||
也可以直接修改模块文件:
|
||||
|
||||
```
|
||||
replace github.com/go-ego/gse => github.com/vcaesar/gse
|
||||
```
|
||||
|
||||
## GOMODULE 常用命令:
|
||||
|
||||
```
|
||||
go mod init # 初始化 go.mod
|
||||
go mod tidy # 更新依赖文件
|
||||
go mod download # 下载依赖文件
|
||||
|
||||
go mod vendor # 将依赖转移至本地的 vendor 文件
|
||||
go mod edit # 手动修改依赖文件
|
||||
go mod graph # 打印依赖图
|
||||
go mod verify # 校验依赖
|
||||
```
|
||||
|
||||
|
||||
前面我们在安装 Go 的时候看到需要设置 GOPATH 变量,Go 从1.1版本到1.7必须设置这个变量,而且不能和Go的安装目录一样,这个目录用来存放Go源码,Go的可运行文件,以及相应的编译之后的包文件。所以这个目录下面有三个子目录:src、bin、pkg
|
||||
|
||||
从go 1.8开始,GOPATH 环境变量现在有一个默认值,如果它没有被设置。 它在Unix上默认为$HOME/go,在Windows上默认为%USERPROFILE%/go。
|
||||
## GOPATH设置
|
||||
go 命令依赖一个重要的环境变量:$GOPATH
|
||||
|
||||
@@ -14,6 +86,7 @@
|
||||
```sh
|
||||
export GOPATH=/home/apple/mygo
|
||||
```
|
||||
|
||||
为了方便,应该新建以上文件夹,并且上一行加入到 `.bashrc` 或者 `.zshrc` 或者自己的 `sh` 的配置文件中。
|
||||
|
||||
Windows 设置如下,新建一个环境变量名称叫做GOPATH:
|
||||
|
||||
Reference in New Issue
Block a user