我想在我的 Linux Mint 机器上安装 Google 的 Go 语言。我是 Linux 的新手,所以要遵循我读过的一些说明并不容易。也就是说,有人告诉我编辑/修改 bashrc 文件:
export GOROOT=$HOME/gosource
export GOARCH=amd64
export GOOS=linux
export GOBIN=$HOME/bin
export PATH=$PATH:$GOBIN
我不知道该怎么做。我输入了 gedit ~/.bashrc
进入终端,出现一个空白页面。我输入了代码并保存了它。然后做了
hg clone -u https://go.googlecode.com/hg/ go
获取源代码。这个对吗?因为我随后尝试编译代码并出现了一长串错误(我没有 - 不幸的是我在 mo 使用不同的 PC)。
但如果有人能帮我安装 Go,我将不胜感激。
解决方案:
除了下面答案中提到和解决的各种问题外,我忘记安装了以下
sudo apt-get install bison ed gawk gcc libc6-dev make
在 golang.com 安装页面的顶部提到了它。
最佳答案
除其他外,您尝试将存储库克隆到 ~/go
并编辑 ~/.bashrc
以将 $GOROOT
指向 ~/gosource
.
阅读 Go Getting Started仔细说明。要么复制并粘贴命令,要么非常仔细地检查你输入的内容;在你按下回车之前非常仔细地检查输入。对于命令,$
符号代表命令提示符,不要键入它。请记住,Linux 区分大小写,/
和 \
之间的区别很重要。非常仔细地检查命令的输出;输出是否有意义。运行诊断命令,例如 env
、pwd
、which
和 uname
。当您在 Stack Overflow 答案中看到滚动条时,滚动浏览所有代码和输出。
首先,设置~/.bashrc
。
$ gedit ~/.bashrc
export GOROOT=$HOME/go
export GOARCH=amd64
export GOOS=linux
export GOBIN=$GOROOT/bin
export PATH=$PATH:$GOBIN
关闭所有打开的终端窗口,然后打开一个新的终端窗口来检查新的 ~./bashrc
和其他值。
$ env | grep '^\(GO\|HOME=\|PATH=\)'
GOBIN=/home/peter/go/bin
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/peter/go/bin
GOARCH=amd64
HOME=/home/peter
GOROOT=/home/peter/go
GOOS=linux
$ cd $GOROOT/src
$ pwd
/home/peter/go/src
$ uname -a
Linux peter 2.6.32-31-generic #61-Ubuntu SMP Fri Apr 8 18:25:51 UTC 2011 x86_64 GNU/Linux
然后将存储库克隆到 $GOROOT
,您将克隆到同一位置并从该位置进行编译。
$ hg clone -u release https://go.googlecode.com/hg/ $GOROOT
requesting all changes
adding changesets
adding manifests
adding file changes
added 8441 changesets with 31916 changes to 4421 files (+1 heads)
updating to branch release-branch.r57
2702 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd $GOROOT/src
$ ./all.bash
< SNIP OUTPUT >
ALL TESTS PASSED
---
Installed Go for linux/amd64 in /home/peter/go.
Installed commands in /home/peter/go/bin.
The compiler is 6g.
$ which 6g
/home/peter/go/bin/6g
你还没有发布你的输出,所以我只能猜测你的问题是什么。
比如你说“目录是Go”,就应该是“go”;由于 Linux 区分大小写,因此“Go”和“go”是不同的。
如果您从 hg clone
命令中省略了 $GOROOT
目标,或者未设置 $GOROOT
,hg clone
将默认为 hg
目录。例如,
$ env | grep '^GOROOT'
GOROOT=
$ hg clone -u release https://go.googlecode.com/hg/ $GOROOT
destination directory: hg
因为你有 GOARCH=amd64
,你应该在 x86_64
处理器上运行 64 位版本的 Linux Mint。您的 uname -a
输出说明了什么?您希望 6g
和 6l
程序在 x86_64
处理器上编译和链接,该处理器应该在您的 $GOBIN
目录,它应该在您的 $PATH
中。
$ env | grep '^\(GOBIN\|PATH=\)'
GOBIN=/home/peter/go/bin
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/peter/go/bin
$ which 6g
/home/peter/go/bin/6g
您还应该通过阅读 ./all.bash
命令输出的末尾看到这一点。
ALL TESTS PASSED
---
Installed Go for linux/amd64 in /home/peter/go.
Installed commands in /home/peter/go/bin.
The compiler is 6g.
关于linux - 在 Linux(Mint) 中安装 Go 并修改 bashrc,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6019717/