使用 go1.21 开发,之前电脑有 1.19 版本
1.21 版本安装到了/Users/zhuxiaoyu/Desktop/go121 目录中
/etc/profile
# System-wide .profile for sh(1) if [ -x /usr/libexec/path_helper ]; then eval `/usr/libexec/path_helper -s` fi if [ "${BASH-no}" != "no" ]; then [ -r /etc/bashrc ] && . /etc/bashrc fi export GOROOT=/Users/zhuxiaoyu/Desktop/go121 export GOPATH=/Users/zhuxiaoyu/Desktop/gopath
~/.bash_profile
export GOROOT=/Users/zhuxiaoyu/Desktop/go121 export GOPATH=/Users/zhuxiaoyu/Desktop/gopath export GOBIN=$GOPATH/bin export PROTOBUF_HOME=/usr/local/protobuf export GO111MODULE=auto PATH=$PATH:$GOBIN:$PROTOBUF_HOME/bin
~/.zshrc
export GOPATH=/Users/zhuxiaoyu/Desktop/gopath export GOROOT=/Users/zhuxiaoyu/Desktop/go121 export GOBIN=$GOPATH/bin export PROTOBUF_HOME=/usr/local/protobuf export GO111MODULE=on export GETHBIN=/Users/zhuxiaoyu/Desktop/geth/build/bin
go env
GO111MODULE='auto' GOARCH='amd64' GOBIN='/Users/zhuxiaoyu/Desktop/gopath/bin' GOCACHE='/Users/zhuxiaoyu/Library/Caches/go-build' GOENV='/Users/zhuxiaoyu/Library/Application Support/go/env' GOEXE='' GOEXPERIMENT='' GOFLAGS='' GOHOSTARCH='amd64' GOHOSTOS='darwin' GOINSECURE='' GOMODCACHE='/Users/zhuxiaoyu/Desktop/gopath/pkg/mod' GOnOPROXY='' GOnOSUMDB='' GOOS='darwin' GOPATH='/Users/zhuxiaoyu/Desktop/gopath' GOPRIVATE='' GOPROXY='https://goproxy.cn,direct' GOROOT='/Users/zhuxiaoyu/Desktop/go121' GOSUMDB='' GOTMPDIR='' GOTOOLCHAIN='' GOTOOLDIR='/Users/zhuxiaoyu/Desktop/go121/pkg/tool/darwin_amd64' GOVCS='' GOVERSION='go1.21.0' GCCGO='gccgo' GOAMD64='v1' AR='ar' CC='clang' CXX='clang++' CGO_ENABLED='1' GOMOD='' GOWORK='' CGO_CFLAGS='-O2 -g' CGO_CPPFLAGS='' CGO_CXXFLAGS='-O2 -g' CGO_FFLAGS='-O2 -g' CGO_LDFLAGS='-O2 -g' PKG_COnFIG='pkg-config' GOGCCFLAGS='-fPIC -arch x86_64 -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -ffile-prefix-map=/var/folders/ys/nth2j_v53q55rqfkhvdfnj_80000gn/T/go-build2234700829=/tmp/go-build -gno-record-gcc-switches -fno-common
vscode 的配置
"go.alternateTools": { "go.goroot":"/Users/zhuxiaoyu/Desktop/go121", "go.gopath":"/Users/zhuxiaoyu/Desktop/gopath" }
vscode 报错提示
go: cannot find GOROOT directory: /Users/zhuxiaoyu/Desktop/gopath/go1.19.9
都快疯了,到底这个 vscode 读的哪里的环境变量
![]() | 1 main1234 OP ``` 2024-08-27 15:19:02.940 [info] Installing github.com/cweill/gotests/[email protected] FAILED 2024-08-27 15:19:02.940 [info] { "code": 2, "killed": false, "signal": null, "cmd": "/Users/zhuxiaoyu/Desktop/go121/bin/go install -v github.com/cweill/gotests/[email protected]", "stdout": "", "stderr": "go: downloading github.com/cweill/gotests v1.6.0\ngo: cannot find GOROOT directory: /Users/zhuxiaoyu/Desktop/gopath/go1.19.9\n" } ``` |
2 zand1984 2024-08-27 15:26:20 +08:00 echo $PATH 看看呢? 另外推荐 brew 来安装 go ,gvm 来切换 go 版本。没有切换版本需求就不装 gvm ,只用 brew 更新到 latest |
![]() | 3 zysuper 2024-08-27 15:29:42 +08:00 go install golang.org/dl/go1.19.9@latest |
4 billbur 2024-08-27 15:30:01 +08:00 |
![]() | 7 zysuper 2024-08-27 15:44:05 +08:00 @main1234 不是你用不用 1.19, 而是你的 vscode 用到的 gotests 找不到 go1.19.9, 所以报错了。 |
9 deplives 2024-08-27 15:55:46 +08:00 我不用 Windows ,不会解决 但是感叹一句,Windows 对开发人员其实真的不友好。 之前写 Python ,连个 pyenv 都不支持。整个虚拟环境整了几天。真是麻了 |
![]() | 11 main1234 OP @billbur 破 vscode ,用公司电脑也有这个问题,不知道哪里错了,换 goland 了 |
![]() | 12 proxytoworld 2024-08-27 16:12:32 +08:00 @deplives darwin 不是经典的 mac |
![]() | 13 proxytoworld 2024-08-27 16:14:43 +08:00 第一确认终端的 go 版本是否正确,第二在 vscode 终端看 go env ,第三或许可以用 strace... |
![]() | 14 proxytoworld 2024-08-27 16:15:22 +08:00 再不济 soft link 过去 |
![]() | 15 main1234 OP @proxytoworld 换 goland 了,vscode 报错的命令我在 cmd 中运行正常 |
16 listenerri 2024-08-27 17:04:46 +08:00 看一下 ~/.bashrc ? |
![]() | 17 main1234 OP @listenerri 里面没东西 |
![]() | 18 Nazz 2024-08-27 17:37:18 +08:00 配置 GOROOT, GOPATH, GOPROXY 就行了, 其它都是多余的 |
19 mrtanwen 2024-08-27 17:57:52 +08:00 |
![]() | 20 SiDQ9w1P04Dap9uv 2024-08-27 17:59:32 +08:00 goland 不香吗? |
![]() | 22 aw2350 2024-08-27 18:11:32 +08:00 看下工作目录下的 goenv ,环境变量 从小到大,先取的 项目配置,再取项目目录的 env ,然后才向上取全局变量等。先在 项目目录下 打印 一下 gopath 和 goroot 的 env 变量值 |
23 DefoliationM 2024-08-27 18:12:00 +08:00 via Android 一顿操作猛如虎,然后连基本的配置都分不清。 |
24 mrtanwen 2024-08-27 18:14:53 +08:00 |
25 FlashEcho 2024-08-27 18:28:04 +08:00 我也遇到过类似问题,不然别用本机环境变量了,直接写.vscode/launch.json 吧,这里的环境变量 100%能解决问题 |
![]() | 26 pkoukk 2024-08-27 18:30:50 +08:00 |
![]() | 27 FengMubai 2024-08-27 18:32:06 +08:00 建议使用包管理器安装, 非常不建议把软件装在桌面 |
![]() | 28 iamperiod331www 2024-08-27 19:02:53 +08:00 "go.goroot": "/home/xxx/.deck/2.0/go-1.19.6", "go.gopath": "/home/xxx/gopath", 试试 |
![]() | 29 iamperiod331www 2024-08-27 19:03:45 +08:00 不在`"go.alternateTools"` 层级下,直接在顶层 |
![]() | 30 valord577 2024-08-27 19:12:26 +08:00 vscode+go 环境 在 zsh 和 bash 配置中 不用单独 export GOPATH GOROOT 这些的 只需要 export PATH=/opt/go/bin:$PATH 其他环境变量通过 go env -w ${key}=${value} vscode 也不需要设置 go.alternateTools 还有一种可能性就是 环境变了需要重新 source 一下 mac 建议重启或者 logout 一下 防止有缓存 |
![]() | 31 we9ta 2024-08-28 03:21:10 +08:00 via iPhone { "go.gopath": "${env:HOME}/.gvm/pkgsets/go1.22.5/global", "go.goroot": "${env:HOME}/.gvm/gos/go1.22.5", "cSpell.words": ["gorm", "milli"], "editor.formatOnSave": true, "go.formatTool": "gofmt", "[go]": { "editor.formatOnSave": true, "editor.codeActionsOnSave": { "source.organizeImports": "explicit" } }, "[go.mod]": { "editor.formatOnSave": true, "editor.codeActionsOnSave": { "source.organizeImports": "explicit" } } } Gvm 嘎嘎好用 |
![]() | 32 guanzhangzhang 2024-08-28 08:34:15 +08:00 |
![]() | 33 main1234 OP @DefoliationM 什么基本的配置??讲讲 |