当前位置: 首页 > 面试题库 >

无法让Golang在Ubuntu中工作

傅新
2023-03-14
问题内容

好的,所以我下载了Go 1.1,并将其放入$ HOME / Documents / go。

然后,我将我修改.bashrc为:

export GOPATH=$HOME/Documents/go                                                
export GOROOT=$GOPATH
export GOARCH=amd64
export GOOS=linux
export GOBIN=$GOPATH/bin
export PATH=$PATH:$GOBIN

比起我,我已经.bashrc尝试了:

jan@janpc:~$ go version
go version go1.1 linux/amd64

但是我无法编译或安装任何依赖项。例如。我尝试运行我的小测试程序:

jan@janpc:~/Documents/go/src/github.com/jan/scrypt$ go run scrypt.go 
warning: GOPATH set to GOROOT (/home/jan/Documents/go) has no effect
scrypt.go:9:3: cannot find package "github.com/dchest/scrypt" in any of:
    /home/jan/Documents/go/src/pkg/github.com/dchest/scrypt (from $GOROOT)
    ($GOPATH not set)
jan@janpc:~/Documents/go/src/github.com/jan/scrypt$

当我尝试安装依赖项时:

jan@janpc:~/Documents/go/src/github.com/jan/scrypt$ go get "github.com/dchest/scrypt"
warning: GOPATH set to GOROOT (/home/jan/Documents/go) has no effect
package github.com/dchest/scrypt: cannot download, $GOPATH must not be set to $GOROOT. For more details see: go help gopath

它可以在Mac上编译并正常工作。如果我尝试删除配置$GOROOT$GOPATH什么都行不通,并且我不知道将它们设置为什么,除了Go的路径,我无法弄清楚我的配置有什么问题。

编辑:我的Mac上没有设置$ GOROOT。但是,如果我$GOROOT在ubuntu上删除,则在尝试编译时会出现诸如此类的错误。

cannot find package "fmt" in any of:
    /usr/local/go/src/pkg/fmt (from $GOROOT)
    /home/jan/Documents/go/src/fmt (from $GOPATH)

问题答案:

您设置的环境变量

$ export GOROOT=$GOPATH

是一个错误。无需或不建议在任何地方进行此类设置。实际上,它破坏了Go构建系统所看到的环境。

删除该设置,重新创建环境(. bashrc)或打开一个新的终端,它应该可以工作(如果不存在其他问题)。

此外,如果您不进行交叉编译,建议您也删除以下内容:

export GOARCH=amd64
export GOOS=linux

简而言之,正确导出的GOPATH是 唯一
真正需要的环境变量。这里还有一些提示。

编辑:好的,所以我已经下载了二进制发行版(go1.1.linux-amd64.tar.gz)。从README引用:

二进制发行说明

如果刚刚解压了二进制Go发行版,则需要将环境变量$ GOROOT设置为go目录的完整路径(包含此README的路径)。如果将变量解压缩到/ usr /
local / go中,或者通过运行all.bash从源进行重建,则可以忽略该变量(请参阅doc /
install.html)。您还应该将Go二进制目录$ GOROOT / bin添加到外壳程序的路径中。

例如,如果将tar文件提取到$ HOME / go中,则可以在.profile中放入以下内容:

export GOROOT=$HOME/go
export PATH=$PATH:$GOROOT/bin

有关更多详细信息,请参见doc / install.html。

由此可见,您一定没有正确遵循上述说明。解决该问题,希望它对您有用。



 类似资料:
  • 我已经挣扎了两个晚上,现在让load_file()工作,但结果是NULL。我运行版本"5.6.19-0ubuntu0.14.04.1"。 示例: 文件权限: 选中的: MySql已经执行并拥有目录 Mysql下载文件 DB user=root 文件大小 无需设置secure file priv,它就可以轻松读取/etc/passwd等不重要的数据:P.也可以从“/”导入,但其他任何地方都无法导入。

  • 我得到以下错误。有人能帮帮我吗 Traceback(最近的调用为last):文件“index.py”,第38行,在浏览器中=webdriver.chrome(r“./chromeDriver”)#替换为>.firefox(),或使用您选择的浏览器文件“/usr/local/lib/python3.5/dist->packages/selenium/webdriver/chrome/webdrive

  • 我对docker相当陌生,正试图通过写自己的图像来学习,目前,正在阅读docker in action(ISBN:1633430235) 我的代码: 图书代码: 然而,在这两个代码中,我都得到了一个无法定位的包eror和一个none-zeero代码: apt-get update'返回一个非零代码:100 这将成功地下载,但一旦它开始安装git,我得到同样的错误。这个 3)在https://doc

  • 我已安装以下软件包: 谷歌。戈朗。组织/grpc github。com/golang/protobuf/protoc gen go 导出的路径如下: 当我尝试用protoc命令编译proto文件时,我看到command not found错误: 我的项目路径如下:

  • 我在Eclipse Juno中尝试了GlassFish 4.0和3.1决赛 你知道我该怎么做吗? 编辑:我在我朋友的电脑上尝试了同样的设置,它可以工作,但我需要这个!我得到了这些错误: 区块报价SEVERE:SEC5054:证书已过期: 严重:部署应用程序[__admingui]时出现异常

  • 所以我不知道如何让桌子在雪花中旋转。我试图在这里为帮助页面建模https://docs.snowflake.com/en/sql-reference/constructs/pivot.html。 枢轴输出 sql文本: