使用go mod安装beego

原本的方式是使用:
目录切换到$gopath/src之后执行:
go get github.com/astaxie/beego
但是使用go get去拉取会有很多问题,所以本文使用go mod

步骤:
1.确定自己的go版本在1.12或以上
在这里插入图片描述
2.因为go mod可以自己指定路径安装,所以自己创建相关路径:

mkdir gotest
cd gotest
go env -w GO111MODULE="auto"
go mod init gotest

在这里插入图片描述
执行完后,正常会出现红框下面的显示,出现红框的error解决方法:

export GOPATH="/Users/ww/Downloads"

这个配置go的env 后面路径是自己安装go的路径

GOROOT="/usr/local/go"

这个是后面有相关go的bin src的目录,如果是mac本安装go,默认路径就是上面的
以上配置完均可通过下面命令验证:

 sh-3.2# go env | grep GOROOT
GOROOT="/usr/local/go"

2.创建一个server.go

package main
import "github.com/astaxie/beego"
func main() {
    beego.Run()
}

3.执行:

go run server.go 

正常会去下载包,但是我的机器出现下面的error:

go run server.go 
server.go:2:8: no required module provides package github.com/astaxie/beego; to add it:
	go get github.com/astaxie/beego

上面已经写出解决方法:
执行:go get github.com/astaxie/beego

go get github.com/astaxie/beego
go: downloading github.com/astaxie/beego v1.12.3
go: downloading github.com/hashicorp/golang-lru v0.5.4
go: downloading github.com/prometheus/client_golang v1.7.0
go: downloading golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550
go: downloading gopkg.in/yaml.v2 v2.2.8
go: downloading github.com/shiena/ansicolor v0.0.0-20151119151921-a422bbe96644
go: downloading github.com/prometheus/common v0.10.0
go: downloading github.com/prometheus/client_model v0.2.0
go: downloading github.com/cespare/xxhash/v2 v2.1.1
go: downloading github.com/beorn7/perks v1.0.1
go: downloading github.com/golang/protobuf v1.4.2
go: downloading github.com/prometheus/procfs v0.1.3
go: downloading golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1
go: downloading github.com/matttproud/golang_protobuf_extensions v1.0.1
go: downloading google.golang.org/protobuf v1.23.0
go: downloading golang.org/x/net v0.0.0-20190620200207-3b0461eec859
go: downloading golang.org/x/text v0.3.0
go get: added github.com/astaxie/beego v1.12.3

如果安装时候显示:

go get: github.com/astaxie/beego@develop: invalid version: Get "https://proxy.golang.org/github.com/astaxie/beego/@v/develop.info": dial tcp 216.58.200.241:443: i/o timeout

是需要配置代理:

export GOPROXY=https://goproxy.io

或者如果自己本地有梯子,也可以自己配上本地代理端口即可

4.最后验证

cat go.mod 
module gotest

go 1.16

require github.com/astaxie/beego v1.12.3 // indirect

版权声明:本文为qq_42680332原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。