I'm trying to install Golang in a Bluehost shared server.
I've done the following on the server so far:
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
I set the .bashrc
file with the local values I want Go to work with.
# Configuration for Go
export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin
Then I run:
source ~/.bashrc
cd ~/go/src
./all.bash
And all goes well until the testing:
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]
...
After that every single test fails, because I don't have access to /tmp. I was thinking maybe there is a variable to set the tests some place I do have access to, but I haven't found it.
About GOPATH set to GOROOT (/home1/username/go) has no effect
. I've ran:
echo $GOROOT
And it is not set. So whats going on?
You should add GOROOT
to your .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
should be set to a workspace, a folder where your projects will reside
export GOPATH=$HOME/goprojects
export PATH=$PATH:$GOPATH/bin
You will have src
, bin
and pkg
in GOPATH
.
Remember, the go1.3.1.linux-amd64.tar.gz archive is for using go directly (it has binaries pre-compiled).
Doing a all.bash
makes sense only if you build go from sources, but in that case, you would need only the sources (go1.3.1.src.tar.gz).