以Centos7为例,安装配置Go语言,使用Git进行版本控制,记录学习笔记。
服务计算第二次实验:安装 go 语言开发环境
Golang安装配置
安装Golang
1 | # yum 安装 |
配置工作空间
Go语言一个很重要的概念就是工作空间。
Go代码必须放在工作空间内。它其实就是一个目录,其中包含三个子目录:
src
目录包含Go的源文件,它们被组织成包(每个目录都对应一个包),pkg
目录包含包对象,bin
目录包含可执行命令。
go
工具用于构建源码包,并将其生成的二进制文件安装到 pkg
和 bin
目录中。
src
子目录通常包会含多种版本控制的代码仓库(例如Git), 以此来跟踪一个或多个源码包的开发。
1、创建工作空间
1 | $ mkdir $HOME/gowork # 这里$HOME=~ |
2、配置的环境变量,对于 centos 在 ~/.profile
文件中添加,当然,我更习惯于在~/.bashrc
中添加以下代码
1 | export GOPATH=$HOME/gowork |
然后执行这些配置
1 | $ source ~/.profile # or source ~/.bashrc |
3、检查配置
1 | $ go env |
然后输出应该如下图,重点看GOPATH
和GOROOT
是否配置好。
4、安装Go相关工具
首先,golang.org
应该是连接不上的,不然可以用go get -u golang.org/x/tools/...
下载相关工具,其他的一些教程用的是go get -d github.com/golang/tools
,然而我觉得最方便快捷的办法是用git clone
,命令如下:
1 | # 创建文件夹并进入该文件夹 |
这时,我们的工作空间下应该就能看到这一系列配置后生成的三个子目录了:
HelloGo
创建源代码目录:
1 | $ mkdir $GOPATH/src/github.com/github-user/hello -p |
至于这里,为什么是这样一个目录结构,虽然你现在不需要将代码发布到远程库上,但是将来你想要发布时,这会是个好习惯。
创建 hello.go
1 | package main |
在终端运行!
1 | $ go run hello.go |
然而,除了使用run
命令以外,我们还能使用install
命令,利用go工具构建安装这个程序,这听起来比用run
来跑代码,更像一个程序了。
1 | # install |
两种不同的运行方式如图:
注意,你可以在系统的任何地方运行此命令。
go
工具会根据GOPATH
指定的工作空间,在github.com/user/hello
包内查找源码。
install
命令会构建hello
命令,产生一个可执行的二进制文件。 接着它会将该二进制文件作为hello
(在 Windows 下则为hello.exe
)安装到工作空间的bin
目录中。 在我们的例子中为$GOPATH/bin/hello
,具体一点就是$HOME/gowork/bin/hello
。
由于我们已经将
$GOPATH/bin
加入了环境变量,所以能直接执行hello
来运行这个程序。
Git远程仓库
安装Git
可以直接使用sudo yum install git
,但是centos提供的git版本比较低,建议下载官网额源码编译安装最新版,安装方法如下:
1. 下载官方tar2.8git安装包
1 | wget https://www.kernel.org/pub/software/scm/git/git-2.9.5.tar.gz |
2. 安装依赖包
1 | yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker1 |
3. 执行安装操作
1 | $ tar -zxvf git-2.9.5.tar.gz |
4. 配置环境变量
1 | echo "export PATH=$PATH:/opt/git/bin" >> ~/.bashrc |
5. 检查git版本
明显比原来直接yum
安装的1.8.x要高级很多!
Git远程连接
创建本机sshkey
,然后查看生成的key:
1 | ssh-keygen -t rsa -C "youremail@example.com" |
将显示内容添加到github账户中,测试一下:
修改用户名和邮箱,可保持跟github账户一致:
1 | $ git config --global user.name "Your Name" |
连接远程仓库:
1 | git remote add origin http://github.com/username/project.git |
Git与HelloGo
git也安装好了,远程仓库也配置好了,这时我们再次进入go工作空间,进入我们创建好的第一个项目hello
,执行以下命令:
1 | git init #初始化仓库 |
如此,我们的第一个go项目就推送到远程仓库啦~