错误方法
由于beego和bee都更新到v2,并且go1.12之后都是用go mod来保存第三方库了。所以以按照网上的安装方法(如下)
go get github.com/astaxie/beego
go get github.com/beego/bee
会耗费很长时间且遇到一些错误,比如:
1、
cannot find package "github.com/hashicorp/hcl/hcl/printer" in any of:
D:\Go语言学习\go 1.15.2 SDK\src\github.com\hashicorp\hcl\hcl\printer (from $GOROOT)
D:\Go语言学习\Go项目\src\github.com\hashicorp\hcl\hcl\printer (from $GOPATH)
这是由于hcl包同样更新到了v2,所以此路径不再可用。
2、类似:
package golang.org/x/crypto/acme/autocert: unrecognized import path "golang.org/x/crypto/acme/autocert": https fetch:
Get "https://golang.org/x/crypto/acme/autocert?go-get=1": dial tcp 216.239.37.1:443:
connectex: A connection attempt failed because the connected party did not properly respond after a period of time,
or established connection failed because connected host has failed to respond.
遇到此错误,可能是网络不通或者由于版本更新一些包找不到路径。(当时为了解决这个问题,手动下载了很多依赖包,最后还是没成功。。。)
3、当然还会遇到别的错误,所以强烈建议不要使用网上常说的上述方法安装。
正确方法
按照beego中文文档所说的,采用如下的命令:
go get -u github.com/beego/beego/v2
go get -u github.com/beego/bee/v2
如果遇到
package github.com/beego/beego/v2: cannot find package “github.com/beego/beego/v2” in any of:…
则先设置GO111MODULE=on,即采用 go mod的方法来保管库,上面下载的两个库将保存到gopath/pkg/mod中。
go env -w GO111MODULE=on
耗时非常短且成功率100%
测试
验证是否测试成功,直接使用命令建一个beego框架测试就好了:
在gopath下:
bee new test
cd test
bee run
此时你会看到
Built Successfully!
然后在浏览器输入127.0.0.1:8080即可看到欢迎来到beego的页面了
goland中的设置
仅完成上述步骤后,如果在goland中进行项目开发,则会出现引用第三方库报错的情况,这是因为没有使用go mod来导入。
因此,需要在项目目录下执行:
go mod init 项目名
然后再执行代码时go会自动下载依赖的包并且会自动维护go.mod文件。至此环境就完全安装好了。