GOPATH和GOROOT的值应该是什么?
我正在尝试这样安装:GOPATH和GOROOT的值应该是什么?,go,gopath,Go,Gopath,我正在尝试这样安装: $ goinstall github.com/ha/doozer 我得到这些错误 GOPATH讨论如下: GOPATH环境变量 GOPATH可以设置为以冒号分隔的路径列表,其中 可以找到代码、包对象和可执行文件 设置一个GOPATH以使用goinstall构建和安装您自己的代码和 Go树之外的外部库(并避免写入 生成文件) 并讨论了GOROOT: $GOROOTGo树的根,通常是$HOME/Go。这默认为 运行all.bash的目录的父目录。如果你选择不 设置$GOROO
$ goinstall github.com/ha/doozer
我得到这些错误
GOPATH
讨论如下:
GOPATH
环境变量
GOPATH
可以设置为以冒号分隔的路径列表,其中
可以找到代码、包对象和可执行文件
设置一个GOPATH
以使用goinstall构建和安装您自己的代码和
Go树之外的外部库(并避免写入
生成文件)
并讨论了GOROOT
:
$GOROOT
Go树的根,通常是$HOME/Go
。这默认为
运行all.bash
的目录的父目录。如果你选择不
设置$GOROOT
,必须在以下情况下运行gomake而不是make或gmake
使用传统的makefile开发Go程序
GOPATH
讨论如下:
GOPATH
环境变量列出了查找Go代码的位置。在…上
在Unix中,该值是以冒号分隔的字符串。在Windows上,该值为
以分号分隔的字符串。在计划9中,该值是一个列表
GOPATH
必须设置为在
标准围棋树
GOROOT
在以下章节中讨论:
Go二进制发行版假定它们将安装在
/usr/local/go
(或Windows下的c:\go
),但可以安装
将工具转到其他位置。在这种情况下,必须设置
GOROOT
环境变量,指向它所在的目录
安装
例如,如果安装了“转到主目录”,则应添加
以下命令用于$HOME/.profile
:
export GOROOT=$HOME/go
export PATH=$PATH:$GOROOT/bin
注意:GOROOT
只能在安装到自定义位置时设置
(更新版本。)我阅读了《go help gopath》文档,仍然感到非常困惑,但在另一个go文档页面上发现了这个小金块: GOPATH环境变量指定工作区的位置。它可能是开发Go代码时需要设置的唯一环境变量 如上所述: GOPATH环境变量指定用户的位置 工作空间 对于Windows,这对我有效(在Ms dos窗口中): 这将创建一个GOPATH变量,Ms dos在按如下方式使用时可识别该变量:
cd %GOPATH%
以下是我的简单设置:
directory for go related things: ~/programming/go
directory for go compiler/tools: ~/programming/go/go-1.4
directory for go software : ~/programming/go/packages
GOROOT、GOPATH、PATH设置如下:
export GOROOT=/home/user/programming/go/go-1.4
export GOPATH=/home/user/programming/go/packages
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
因此,简言之:
GOROOT用于go安装中的编译器/工具。GOPATH用于您自己的go项目/第三方库(使用“go get”下载)。如果您使用的是发行版go,您应该指向包含文件的位置,例如:
$ rpm -ql golang | grep include
/usr/lib/golang/include
(这适用于Fedora 20)GOPATH不应指向Go安装,而应指向您的工作区(请参阅)。无论何时使用go-get或go-install安装某个包,它都会在GOPATH中着陆。这就是为什么它警告您,您绝对不希望来自internet的随机软件包被转储到您的官方安装中。首次运行
go-env
如果您发现go未安装,可以通过
自制
或通过软件包和/或其他方式安装。如果看到输出,则安装了
Go
。它显示所有已设置和未设置的环境 如果您看到
GOROOT
为空:
哪个go
(在我的计算机上:/usr/local/go/bin/go
)export GOROOT=/usr/local/go
GOPATH
为空:
~/go\u projects
$HOME/go
它将是。没有单一的最佳答案,但这是简短而甜蜜的,只有当
$HOME/go
已经存在时,选择该名称才可能是一个问题,这只会让已经安装go并理解GOPATH
的专家感到高兴
关于
GOROOT
,Go 1.9将自动将其设置为安装路径。即使您安装了多个Go,调用1.9.x one也会将
GOROOT
设置为/path/to/Go/1.9
(之前,如果未设置,则假定默认路径为/usr/local/Go
或c:\Go
)
见:
现在将使用调用它的路径来尝试定位Go install树的根目录这意味着,如果将整个Go安装移动到一个新位置,
Go工具应继续正常工作
这可以通过在环境中设置GOROOT
来覆盖,这只能在异常情况下执行。
请注意,这不会影响测试结果,测试结果将继续报告原始安装位置;这可能在以后的版本中修复
在osx中,我安装了brew,以下是适合我的设置
GOPATH="$HOME/my_go_work_space" //make sure you have this folder created
GOROOT="/usr/local/Cellar/go/1.10/libexec"
我不得不附加
export GOROOT=/usr/local/Cellar/go/1.10.1/libexec
对于我在Mac OS X上的~/.bash_配置文件,还有一种情况是,当我们使用go时,它会编译所有go文件
假设我们有一个文件main.go,后来我们将当前文件更改为main_old.go,然后添加了新的main.go文件。然后,当我们构建应用程序时,所有go文件都将被编译。因此,发生的错误可能是由于某些其他go文件中的编译错误。一旦安装了go lang,GOROOT就是安装的根目录
当我在Windows C:\目录中分解Go-Lang二进制文件时,我的GOROOT应该是C:\ Go。
如果我
GOPATH="$HOME/my_go_work_space" //make sure you have this folder created
GOROOT="/usr/local/Cellar/go/1.10/libexec"
export GOROOT=/usr/local/Cellar/go/1.10.1/libexec
GOROOT = C:\go
GOPATH = C:\Users\<xyz>\GO_Workspace
go: modules disabled inside GOPATH/src by GO111MODULE=auto; see 'go help modules'
setx GOPATH C:\mynewgopath
GOROOT="/usr/local/go" --> all binaries file core go
GOPATH="/Applications/proyectos/go" --> the route to workspace (custom workspace)
GOROOT=$HOME/.local # your go executable is in $GOROOT/bin
GOPATH=$HOME/.gopath
PATH=$GOROOT/bin:$GOPATH/bin:$PATH