记录自己在linux上搭建go环境的经历。(因为各种版本,linux系统问题挣扎了几天)
- 安装vmware-tools,把我要运行代码拷进来。这个网上方法很多,我的电脑抽风不能安装,后面重装的虚拟机
- 确定Ubuntu版本、位数。很重要,go要与Ubuntu位数一致。
内核版本发行版本命令:cat /etc/issue
Ubuntu位数:sudo uname --m
我开始使用的32位Ubuntu,所以go也下载的这个版本,结果bug了。
go代码里面使用Add64数据结构程序不通过,不确定是不是系统的原因。但后面换成64位的系统就没问题了。
3. 安装go,直接从官网下载64位:https://golang.google.cn/dl/。
解压:在下载目录下打开终端,解压到/usr/local
sudo tar zxvf go1.10.linux-amd64.tar.gz -C /usr/local
4. 配置go环境:我的目录是/home/liangzhiyuan/go_program/{src,bin,pkg}
vim ~/.bashrc
编辑该文件,选择“i”添加至末尾:
export GOROOT=/usr/local/go
export GOPATH=/home/liangzhiyuan/go_program
export GOBIN=/home/liangzhiyuan/go_program/bin
export PATH=$PATH:$GOPATH:/usr/local/go/bin
添加完成,选择“ESC”,保存退出“:wq”
5. 运行我的代码cmty.go,会提示有包不存在
使用 go get gonum.org/v1/gonum/graph需要的包
安装git
权限不够,因为home/liangzhiyuan/下的文件夹只能以root权限创建目录,则修改当前用户的权限。参考https://zhidao.baidu.com/question/1544615718761627747.html。
以root用户下的chown命令改变/home/laingzhiyuan文件夹的属性。
Chown –R liangzhiyuan:users /home/liangzhiyuan
之后,使用用户liangzhiyuan权限就可以在/home/liangzhiyuan文件夹下创建目录了。
缺少包golang.ora/x/exp/rand,不能直接go get。
在网上查的方法,具体参考的链接不记得了。
6. 最后的最后,运行成功了。
其实整个过程真的不复杂,就是Ubuntu不能联网、不能粘贴复制、不能重新安装镜像、权限不通过、版本不允许等问题让人很无奈,很费时费心力,换主机、换系统、换平台很多方法都试过了。想对遇到虚拟机问题的朋友说,坚持尝试吧,付出总会有收获。