Golang运行环境问题

Background

1 执行程序报错

go tool: no such tool compile

2 切换环境配置失败

go env -w GOBIN=... does not override conflicting OS environment variable

3 环境变量不存在

$GOPATH/go.mod exists but should not

以上情况,需要逐项排查运行环境安装以及相关配置。

Premise

  1. MacBook Pro (13-inch, M1, 2020)

Process

1 查看go.mod文件,确认项目需要的GO版本。

module entryname

go 1.19

require (
)

2 下载安装对应的版本

3 确认go版本,安装是否成功。

sirius@MacBook-Pro-9 ~ % go version
go version go1.20.1 darwin/arm64

4 查看Go安装位置

sirius@MacBook-Pro-9 ~ % which go
/usr/local/go/bin/go

5 go env 查看配置。

# GOPATH 项目工作空间,自定义路径
GOPATH="/Users/wujialiang01/go"
# GOBIN 项目代码运行编译的可执行程序路径,一般在项目工作空间的bin文件夹。
GOBIN="/Users/wujialiang01/go/bin"
# 参考Go安装位置,填安装根目录路径。
GOROOT="/usr/local/go"
go env -w GOROOT="/usr/local/go"

6 引入环境变量

sirius@MacBook-Pro-9 ~ %  vi ~/.bash_profile
export PATH=$HOME/bin:/usr/local/bin:$PATH
export GOBIN=$HOME/go/bin
export PATH=$PATH:$GOBIN
sirius@MacBook-Pro-9 ~ %  source ~/.bash_profile

Conclusion

sirius@MacBook-Pro-9 ~ %  go run main.go
2023/05/23 10:22:54 [env] set "AppName"="aidm"
2023/05/23 10:22:54 [env] set "IDC"="test"
2023/05/23 10:22:54 [env] set "RunMode"="debug"
2023/05/23 10:22:54 [env] set "RootDir"="/Users/sirius/go/cdc-speech/entryname"
2023/05/23 10:22:54 [env] set "ConfDir"="/Users/sirius/go/cdc-speech/entryname/conf"
2023/05/23 10:22:54 [env] set "DataDir"="/Users/sirius/go/cdc-speech/entryname/data"
2023/05/23 10:22:54 [env] set "LogDir"="/Users/sirius/go/cdc-speech/entryname/log"
2023/05/23 10:23:18 app.Start Listen  0.0.0.0:8681 

References

转载本文,请注明出处、作者

你可能感兴趣的:(经验,golang,macos,compile,GOPATH,GOROOT)