社区微信群开通啦,扫一扫抢先加入社区官方微信群
社区微信群
这次是我们课程需要,所以要在linux下安装并配置好go语言开发环境。然而作业不是很难,配置环境的过程中却遇到了不少困难,如golang插件依赖安装失败、gotour安装失败等问题。此博客就以我自己安装go语言开发环境的过程为基础,拓展一些失败问题的解决方案。
linux 下安装:
这一步没有什么难点,直接安装即可:
$ sudo yum install golang
首先创建工作空间的目录,gowork为该目录名。
$ mkdir $HOME/gowork
在Linux配置环境变量需要注意,要在~/.profile (或/etc/.profile)文件中添加(使用vim ~/.profile
):
export GOPATH=$HOME/gowork
export PATH=$PATH:$GOPATH/bin
并在终端输入:
$ source $HOME/.profile
这里我是在/etc/.profile下添加的,是全局profile文件,所以会影响所有用户,这里的source路径也需要改:
$ source /etc/.profile
反正记得添加之后source
语句之后才会生效。
执行$ go env
,检查配置:
go 语言的插件主要在 Github 上,安装 git 客户端是首要工作,
$ sudo yum install git
没有问题。
就是安装一下在vscode中使用的插件,但由于无法连接到go官网,所以一下依赖文件无法下载下来。但是这些失败的库,不是没有下载下来,而是以来的文件在go官网上,导致失败。那么我们直接自己把库从github上面clone下来不就可以了。
首先,创建依赖库所在的目录 “%GOPATHsrcgolang.orgx”。
$ mkdir $GOPATH/src/golang.org/x/
在此目录下,git clone
:
$ git clone https://github.com/golang/tools.git tools
接下来就可以直接安装所需要的工具(这一步有可能出错,解决方法看下面):
$ go install github.com/ramya-rao-a/go-outline
$ go install github.com/acroca/go-symbols
$ go install golang.org/x/tools/cmd/guru
$ go install golang.org/x/tools/cmd/gorename
$ go install github.com/josharian/impl
$ go install github.com/rogpeppe/godef
$ go install github.com/sqs/goreturns
$ go install github.com/golang/lint/golint
$ go install github.com/cweill/gotests/gotests
$ go install github.com/ramya-rao-a/go-outline
$ go install github.com/acroca/go-symbols
$ go install golang.org/x/tools/cmd/guru
$ go install golang.org/x/tools/cmd/gorename
$ go install github.com/josharian/impl
$ go install github.com/rogpeppe/godef
$ go install github.com/sqs/goreturns
$ go install github.com/golang/lint/golint
$ go install github.com/cweill/gotests/gotests
上面这一步可能会提示类似以下错误,那我们就使用$ git clone https://github.com/josharian/impl $GOPATH/src/github.com/josharian/impl
,也就是将github上的库clone到本地再go install,后来发现go get github.com/josharian/impl
是等效的(go get可以理解成先git clone,再go install),所以以上所有的go install都可以换成go get
can't load package: package github.com/josharian/impl: cannot find package "github.com/josharian/impl" in any of:
/usr/lib/golang/src/github.com/josharian/impl (from $GOROOT)
/root/gowork/src/github.com/josharian/impl (from $GOPATH)
参考自go run/ go install/ go build / go get的区别:
go run 运行当个.go文件
go install 在编译源代码之后还安装到指定的目录
go build 加上可编译的go源文件可以得到一个可执行文件
go get = git clone + go install 从指定源上面下载或者更新指定的代码和依赖,并对他们进行编译和安装
上面是安装插件,使在vscode中编程更加方便,接下来就是安装gotour——离线Go编程指南。
由于Github上的库无法使用了,而官方网站我们又连不上。最后,感谢群里的同学发了一篇博客——服务计算-CentOS下安装Go开发环境遇到的一些问题,找到了解决的方法。下面我来总结一下该方法:
首先进入网站https://bitbucket.org/mikespook/go-tour-zh/downloads/,点击Download repository下载该库。
解压缩下载的库,并改名为go-tour-zh,然后移动到$GOPATH/src/bitbucket.org/mikespook/目录下。
在$GOPATH/src/bitbucket.org/mikespook/go-tour-zh/gotour目录下打开终端,输入go install
。
这里出现了一个问题,就是no install location for /root/gowork/src/bitbucket.org/mikespook/go-tour-zh/gotour hidden by······
,问题出现的原因就是原来我go get在
G
O
P
A
T
H
和
GOPATH和
GOPATH和GOROOT目录下的gotour占用了位置,所以需要把原来的删除再go install
。
成功之后,就可以使用gotour
连接上离线Go编程指南。
以上就是所有在配置环境中遇到的问题,已经给出了现时证明可用的方法,未来有更多的问题以及或更好的解决方法都会更新的。
.profile 文件
解决vscode中golang插件依赖安装失败问题
go run/ go install/ go build / go get的区别
服务计算-CentOS下安装Go开发环境遇到的一些问题
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!