七叶笔记 » golang编程 » 告别GOPATH,利用module特性在任意目录创建Golang项目

告别GOPATH,利用module特性在任意目录创建Golang项目

玩过Go语言的都知道,Golang项目文件必须放在GOPATH下的src目录,但利用Go1.11版本发布的 module特性 ,我们终于可以把自己的Golang项目放在任意目录了。我们今天将利用module特性手把手在任意目录部署一个Echo项目。本文适合Go新手查阅,高手请忽略。

开发环境

操作系统:Windows10 64位企业版

Go版本:1.13rc2 windows/amd64

IDE :Visual Studio Code 1.37.1

变量设置:

  1. 需要先开启module特性,设置 环境变量 GO111MODULE=on,或者GO111MODULE=auto(默认设置,如果在GOPATH下不启用module)
  2. 因为墙的原因,需要设置GOPROXY,本文最后还为大家提供了 阿里云 等几个好一点的代理可供选择。

设置方法:Windows环境下,可以在 PowerShell 执行命令(仅当前会话有效):

$env:GO111MODULE=”on”
$env:GOPROXY=””
 

或者在“此电脑-属性-高级系统设置-高级-环境变量”中设置当前用户或全局环境变量。

如果Go版本≥1.13,执行以下命令设置 全局变量

go env -w GO111MODULE=on
go env -w GOPROXY=
 

这样环境变量就设置好了。

建立项目

现在开始建立项目目录,我们在D:\Project\Go\目录下创建一个echo-test文件夹,作为项目目录,注意,D:\Project\Go\目录并不是GOPATH。然后在项目目录echo-test中新建main.go文件,并写入Web框架Echo的hello world代码。

接下来在终端 运行命令 go mod init echo-test来初始化module(注意这里的go mod init命令之后,必须有一个项目名称,这个名称可以与项目目录名不同)。

此时echo-test文件夹自动增加go.mod文件。

然后在终端运行go build命令来构建项目,module会自动把项目依赖库全部下载下来,保存在GOPATH\pkg\mod目录下。这时候项目目录会新增go.sum依赖库检查文件和echo-test.exe二进制 可执行文件 。这时候我们的项目就算构建完成了。

运行测试

运行命令go run main.go命令试试效果吧。

Echo项目成功启动。

打开浏览器,输入,浏览器显示hello world,项目成功启动。

总结:通过利用Go1.11的module特性,我们成功在任意目录创建项目,这对于我这种有强迫症的Coder来说,实在是太棒了,以后再也不需要把所有项目都放在GOPATH目录了;而且利用module也可以很好的对库版本进行管理,在Go1.13及以后的版本中,Go module版本依赖管理功能将被大规模推广使用;最后,通过设置通过GOPROXY还可以跳过可恶的墙,帮我们下载第三方库包,提高项目开发效率,实在是一举多得。


比较好的几个GOPROXY代理如下:




 

文中如有错误,请留言指正,谢谢!

相关文章