Golang中GOPATH配置混乱无法重置怎么办

Golang中GOPATH配置混乱无法重置怎么办 我尝试为 GOPATH 设置两个值,但可能输入了错误的内容。 现在,GOPATH 损坏了,无法重置。

如果我执行:

go env GOPATH

我得到:

go: GOPATH entry is relative; must be absolute path: "GOPATH=/var/www/localdev/goGeneric"

当我尝试用正确的路径覆盖时:

go env -w GOPATH=/var/www/localdev/goTest

会出现同样的错误。

如何移除 GOPATH 的损坏值?


更多关于Golang中GOPATH配置混乱无法重置怎么办的实战教程也可以访问 https://www.itying.com/category-94-b0.html

3 回复

嗨 Scott, 这解决了问题!方案有效。

谢谢你,Rene

更多关于Golang中GOPATH配置混乱无法重置怎么办的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html


在同一终端中执行

export GOPATH="/some/path/here" # 仅适用于 Linux 或 OSX

如果在 Windows 系统上,请调整上述命令以将环境变量 GOPATH 定义为您所需的值

现在,在同一终端中执行您的 go build 或 go run 命令……如果这解决了问题,那么您需要将上述 export 命令保存在系统环境变量定义列表中,这取决于具体的操作系统……上述命令适用于 Linux 或 OSX,我不了解 Windows 上的等效操作……如果在 Linux 系统上,请将上述 export 命令保存在您的 ~/.bashrc 文件中;如果在 OSX 系统上,请保存在 ~/.profile 文件中

要移除损坏的GOPATH配置,可以直接修改Go的环境配置文件。损坏的GOPATH值存储在GOENV环境变量指定的文件中(通常是~/.config/go/env)。

执行以下命令查看配置文件位置:

go env GOENV

然后编辑该文件,删除或修正GOPATH行:

# 例如在Linux/macOS上
nano ~/.config/go/env

在文件中找到类似的行:

GOPATH=GOPATH=/var/www/localdev/goGeneric

将其修正为(或直接删除该行):

GOPATH=/var/www/localdev/goTest

保存文件后,验证修改:

go env GOPATH

如果问题仍然存在,可以直接删除整个配置文件,Go会使用默认值:

rm $(go env GOENV)

之后重新设置GOPATH:

go env -w GOPATH=/var/www/localdev/goTest

注意:从Go 1.11开始推荐使用Go Modules,GOPATH的重要性已降低。如果使用Go Modules,通常不需要配置GOPATH。

回到顶部