设置GOPATH环境变量的值

15

我使用go1.3.1.windows-amd64.msi安装了go语言,安装完成后GOROOT自动设置为默认值,我将D:\Programs\Go\bin添加到了PATH环境变量中,并创建了GOPATH环境变量。使用'go get'命令时出现错误:

包github.com/coreos/etcd: 无法下载,$GOPATH不能设置为$GOROOT。更多详细信息见:go help gopath

操作系统:windows 7

GOPATH和GOROOT会冲突吗?

如何设置这两个PATH值?

4个回答

32
  • GOROOT 必须指向安装 GO 的文件夹
  • GOPATH 必须指向一个空文件夹,它将是你的工作区 (src/pkg/bin 用于你的项目)

在用户环境变量中添加这两个变量。

go get github.com/coreos/etcd 应该:

  • 下载源代码到 %GOPATH%/src/github.com/coreos/etcdsrc 已经为你创建)
  • 编译到 %GOPATH%/pkg/windows_amd64pkg/ 也已经为你创建,windows_amd64 反映了你的Windows架构)
  • 使用 go install 命令,将其安装到 %GOPATH%/bin 中(bin/ 也已经为你创建)

注意:从 Go 1.8+(2017年第二季度),GOPATH 可能会默认设置(在 Windows 上)为 %USERPROFILE%/go
在 Linux 上,它可能是 $HOME/go:参见 issue 17262


2018 年更新,三年后: GOPATHGo 1.11 模块 中将被淘汰:

mkdir newProject
cd newProject
set GO111MODULE=on
go mod init myproject

2
正如他所说,将GOPATH指向与GOROOT不同的单独文件夹。一个有用的供应技术是在你闲逛时保持标准工作区,然后为你想要保持精确依赖关系的每个项目创建一个单独的工作区。或者,使用godep - Shelakel

5

我遇到了同样的问题。不过按照教程中所说的设置了一切,但忘记重新启动 cmd。因此,操作步骤如下:

  1. 下载并安装 Go 分发版(GOROOT 变量会自动设置)
  2. 在任何喜欢的位置创建新文件夹作为你的工作区,并在其中创建 3 个目录:binsrcpkg
  3. 然后转到控制面板 -> 所有控制面板项目 -> 系统 -> 高级系统设置 -> 高级选项卡 -> 环境变量 -> 通过单击 系统变量 上的 新建 添加新的系统变量 GOPATH。变量名称 = GOPATH,变量值 = 你创建的目录的路径
  4. 完成后,重启 cmdBash这很重要),就可以设置你的 GOPATH。为确保正确,运行 go env 命令即可查看其值。

1

不应设置$GOROOT

输入export GOROOT=""来解决问题。


0

只需执行 set GOPATH=[路径] 即可完成您的工作。


没有做任何更改。 - Reza Taba

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接