去:" all.bash n#34;编译测试失败并且#34;权限被拒绝n#34;

时间:2014-08-21 18:29:34

标签: compilation go installation

我正在尝试在Bluehost共享服务器中安装Golang。

到目前为止,我在服务器上完成了以下操作:

cd ~
wget https://storage.googleapis.com/golang/go1.3.1.linux-amd64.tar.gz
tar -xvf go1.3.1.linux-amd64.tar.gz
rm go1.3.1.linux-amd64.tar.gz
vi .bashrc

我使用我想要使用的本地值设置.bashrc文件。

# Configuration for Go
export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin

然后我跑:

source ~/.bashrc
cd ~/go/src
./all.bash

在测试之前一切顺利:

warning: GOPATH set to GOROOT (/home1/username/go) has no effect
...
fork/exec /tmp/go-build667300507/cmd/addr2line/_test/addr2line.test: permission denied
FAIL    cmd/addr2line   0.053s
?       cmd/cgo [no test files]
...

之后,每次测试都失败,因为我无法访问/ tmp。我想也许有一个变量来设置我可以访问的地方的测试,但我还没有找到它。

关于GOPATH set to GOROOT (/home1/username/go) has no effect。我跑了:

echo $GOROOT

并没有设定。最近怎么回事?

1 个答案:

答案 0 :(得分:2)

您应该将GOROOT添加到.bashrc

export GOROOT=$HOME/go1.3.1.linux-amd64/go
# or, depending how the archive was un-tar'd:
export GOROOT=$HOME/go
export PATH=$PATH:$GOROOT/bin

GOPATH应设置为 workspace ,您的项目所在的文件夹

export GOPATH=$HOME/goprojects
export PATH=$PATH:$GOPATH/bin

src中您将binpkgGOPATH


请记住,go1.3.1.linux-amd64.tar.gz存档是直接使用go(它预先编译了二进制文件)。

只有当您从源代码构建时才执行all.bash才有意义,但在这种情况下,您只需要源(go1.3.1.src.tar.gz)。