我在这卡了很久,主要是GOPATH的原因,GOPATH是1.13之前的版本用来管理工程代码用的,本机上所有的代码库和依赖都在GOPATH下。从1.13之后的版本开始,Go推荐使用mod方式管理代码和依赖,打开的方式很简单
# 开启gomod go env -w GO111MODULE=on
在使用模块的时候,GOPATH 是无意义的,不过它还是会把下载的依赖储存在 퐺푂푃퐴푇퐻/푝푘푔/푚표푑中,也会把푔표푖푛푠푡푎푙푙的结果放在GOPATH/pkg/mod中,也会把goinstall的结果放在GOPATH/bin 中
1.2 配置Gin得使用国内的代理,阿里云代理实测可用
# 配置代理 go env -w GOPROXY=https://mirrors.aliyun.com/goproxy/,direct # gin下载安装 go get -u github.com/gin-gonic/gin # 出现以下输出说明安装成功 go get: added github.com/gin-contrib/sse v0.1.0 go get: added github.com/gin-gonic/gin v1.7.7 go get: added github.com/go-playground/locales v0.14.0 go get: added github.com/go-playground/universal-translator v0.18.0 go get: added github.com/go-playground/validator/v10 v10.10.0 go get: added github.com/golang/protobuf v1.5.2 go get: added github.com/json-iterator/go v1.1.12 go get: added github.com/leodido/go-urn v1.2.1 go get: added github.com/mattn/go-isatty v0.0.14 go get: added github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd go get: added github.com/modern-go/reflect2 v1.0.2 go get: added github.com/ugorji/go/codec v1.2.6 go get: upgraded golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550 => v0.0.0-20220112180741-5e0467b6c7ce go get: added google.golang.org/protobuf v1.26.0 go get: added gopkg.in/yaml.v2 v2.4.02、新建项目 2.1新建工程
这里使用新的go module方式管理,新建工程freedom
go mod init freedom
执行完之后,目录下出现go.mod文件
新建main.go文件,编辑
package main
import (
"net/http"
"github.com/gin-gonic/gin"
)
func main() {
router := gin.Default()
router.GET("/", func(c *gin.Context) {
c.String(http.StatusOK, "Hello 你好哇!")
})
router.Run(":8080")
}
如果报找不到依赖这个问题
把gin的依赖加入go.mod文件中即可
go mod edit -require github.com/gin-gonic/gin@latest go mod tidy
执行完之后会下载相关的依赖,同时自动在go.mod文件中添加require
如下图所示:
2.2运行go run main.go
访问本机的8080端口,可以看到结果
3、部署到linux服务器 3.1 配置linux的go环境首先配置linux服务器的go环境,可以参考这篇文章
CentOS安装go_guo_zhen_qian的专栏-CSDN博客_go部署centos
3.2 编译go程序因为编译的是需要在linux上运行的程序,所以编译命令需要做一些修改,如下
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build main.go3.3 上传程序到linux服务器
scp /Usersgit/freedom-road/server/main root@11.22.33.456:/server3.4 运行程序
./main
直接在浏览器中查看结果
参考文章
Gin下载安装遇到的坑 - tianzhh_lynn - 博客园



