操作系统:Ubuntu 12.04
Go version reporting:1.1.1
行动:
我已将.profile配置为包含以下行:
导出GOPATH =“$ HOME / workspace”
export PATH = $ PATH:$ GOPATH / bin
我确保通过运行“go env”将它们设置为go配置。但是,当我尝试运行该命令时,屏幕报告如下图所示:
可能的约束问题:
1)这个盒子最初有Go v1.0,我把它升级到版本1.1.1,不确定是什么意思......但如果有一些双配置疯狂的工作,可以解释它的事实尽管路径已经设定,但仍无法正常工作。
2)我在.profile文件中有导出命令,但是我看到一些线程指示把它放在.bashrc中,尝试其中任何一个仍然会出现同样的问题。
我需要卸载go 1.0吗?我只是假设版本1.1.1会超过它,但这可能是错误的。理想情况下,我想完全卸载go然后安装版本1.1.2但是我在golang.org上找不到任何关于卸载的东西,假设确实可以解决问题。
提前感谢您的任何帮助。
答案 0 :(得分:4)
如上述评论者所述,您不应将sudo
与go get
一起使用。当您这样做时,您拥有root用户的环境(没有您的GOPATH),并且您创建的任何文件或目录都不会被您的用户编辑。在过去,go get
命令不会警告没有$GOPATH
,因此更容易被这个绊倒。
要修复权限,请运行以下命令将所有权更改回用户:
sudo chown -R "$USER:" "$GOPATH"
您应该只需要运行普通go get
,因为您可以(并且应该)将$GOPATH
设置为您可以控制的目录。请务必阅读How To Write Go Code,特别是GOPATH上的讨论。