go语言环境配置 & 项目启动

您所在的位置:网站首页 集装箱冷冻柜尺寸大全 go语言环境配置 & 项目启动

go语言环境配置 & 项目启动

2023-09-18 19:50| 来源: 网络整理| 查看: 265

一  安装go语言

go语言各个版本之间兼容性比较差。所以可能你需要安装固定的版本

1  安装最新版的go

brew install go

2  查看go可以安装的版本

brew search go

 3  安装指定版本的go

brew install [email protected]

4  查看安装的go语言的版本

go version

5  查看go的安装路径

which go || where go

6  查看go的环境变量

go env

主要关注go语言的GOROOT GOPATH GO111MODULE这三个环境变量

go env | grep "GOROOT" // go语言的安装路径 go env | grep "GOPATH" // go语言的工作目录 go env | grep "GO111MODULE" // go mod的开启状态

 7  如果go version不管用 检查下环境变量是否配置了go语言的环境变量

二  go mod的使用

go mod可以理解为一个包管理工具(类似于java中的maven)

设置go mod的环境变量

go env -w GO111MODULE=on go env -w GOPROXY="https://go-mod-proxy.byted.org,https://goproxy.cn,https://proxy.golang.org,direct"

go mod的详细可点击这里:go mod使用

踩坑记录:

1  执行go mod下载的时候提示

fatal: could not read Username for 'https://github.com': terminal prompts disabled package github.com/XXX/OOOO/: exit status 128

这个是因为利用homebrew下载go时, 默认禁用了terminal prompts(终端提示)

解决方案:在环境变量中开启终端提示

export GIT_TERMINAL_PROMPT=1

2  执行go mod下载的时候某些部分的依赖不能下载

Cloning into 'scripts'... fatal: unable to access 'https://github.com/open-falcon/scripts.git/': SSL connect error

发生这种情况是因为代理是在git中配置的。既然它是https代理(而不是http)

即使设置代理也是不好用的。git config http.proxy和git config --global http.proxy 是not work的

解决方案:在~/.gitconfig中配置url的前置替换

[url "[email protected]:"] insteadOf = https://code.byted.org/ [url "[email protected]:"] insteadOf = https://git.byted.org/

3  go get/install时提示

"dial tcp: lookup code.byted.org on 8.8.8.8:53: no such host"

启用 Go Module 之后,Golang 会默认通过 Go Mod Proxy 代理拉取代码,但是由于公司的代码仓库只在公司内网有解析,所以在使用 golang 默认 proxy(https://proxy.golang.org,由谷歌提供)时,无法在 8.8.8.8 解析 code.byted.org 等公司域名,则会提示上面的错误。

解决方案

添加如下环境变量

export GO111MODULE=on export GOPROXY="https://go-mod-proxy.byted.org,https://proxy.golang.org,direct" export GOPRIVATE="*.byted.org,*.everphoto.cn,git.smartisan.com" export GOSUMDB="sum.golang.google.cn"

4  安装kitex(可以用来生成thrift文件的工具,类似于IDEA中生成thrift文件的插件)时提示如下的错误

... gorepos/gocode/src/code.byted.org/kite/kitex/tool/pkg/parser/AST.go:312:39: not enough arguments in call to iprot.ReadMapBegin have () want (context.Context) gorepos/gocode/src/code.byted.org/kite/kitex/tool/pkg/parser/AST.go:320:35: not enough arguments in call to iprot.ReadString have () want (context.Context) gorepos/gocode/src/code.byted.org/kite/kitex/tool/pkg/parser/AST.go:325:35: not enough arguments in call to iprot.ReadString have () want (context.Context) gorepos/gocode/src/code.byted.org/kite/kitex/tool/pkg/parser/AST.go:325:35: too many errors

刚开始以为是go版本的问题,升级到了go的1.14版本,无果。其实是在goland的terminal中没有打开GO111MODULE(即使在go env时看到是开启,在goland的termind也执行时也是不能正常获取到开启状态的)

解决方案

安装时执行

GO111MODULE=on go get code.byted.org/kite/kitex/tool/cmd/kitex@latest


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3