玩过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
变量设置:
- 需要先开启module特性,设置 环境变量 GO111MODULE=on,或者GO111MODULE=auto(默认设置,如果在GOPATH下不启用module)
- 因为墙的原因,需要设置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代理如下:
文中如有错误,请留言指正,谢谢!