2019-09-10

Linux下配置Golang开发环境和Git远程仓库

本文总阅读量

目录(包括整个环境搭建过程和我自己遇到的一些问题):

  • 安装Golang开发环境
    • 安装vscode编译器
    • Golang安装过程中遇到的问题
  • Git远程仓库的配置
    • 使用ssh协议实现git与远程仓库的连接
    • 使用https协议实现git与远程仓库的连接
  • 安装一些插件和工具
  • gotour离线中文版本的配置

安装Golang开发环境

这里有安装步骤,不再赘述,这里写一下可能遇到的一些问题

1. 安装vscode编译器

  • 官方教程:Linux下安装vscode
  • 但是我使用官方教程上的老是会遇到各种error,如果你也不行可以直接这样→
    1
    2
    3
    4
    $ sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
    $ sudo sh -c 'echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/vscode.repo'
    $ yum check-update
    $ sudo yum install code
  • 安装完成后命令code就可以看见啦

2. Golang安装过程中遇到的问题

  • 配置环境路径后无法执行配置文件

    • 解决办法:工作空间可以放在任何地方, 但它不能和你的Go安装目录相同
    • 更改执行配置文件路径即可
    • 使用go env命令,确认go配置是否正确
  • 任意目录编写并测试代码

1
2
3
4
5
package main
import"fmt"
func main(){
fmt.Printf("Hello,world.\n")
}

Git远程仓库的配置

1. 在Linux上安装Git

我的Centos版本里面本来就下载了git,你也可以输入git来查看系统是否已经存在Git

  • 如果你没有并且你是Ubuntu Linux,直接sudo apt-get install git就可以完成Git的安装

  • 如果你是Centos或者其他版本,最稳妥的方法就是先从Git官网下载源码,然后解压到合适的文件夹,然后执行./config ,make, sudo make install就好了。(我真的在无数次下载配置环境并失败中明白了还是在官网下载压缩包最靠谱o(╥﹏╥)o)

    2. Git的配置

  • 如果你是第一次使用Git还要进行用户名和邮箱的配置

    1
    2
    $ git config --global user.name "your name"
    $ git config --global user.email "email@example.com"
  • 进入hello.go源代码所在的目录,在该目录下使用git init进行初始化

    3. 创建Github远程仓库并建立与本地Git仓库的绑定

  • new 一个 Repositories

    填上仓库的名字,比如Go-learning

  • 你可以选择用https协议操纵远程仓库,也可以使用git协议,我个人比较习惯使用git,这里写一下git协议需要的配置工作(不过作业要求的是用https协议)

4. Git协议配置:生成密钥并配对

  • 创建SSH Key

    1
    ssh-keygen -t rsa -C "email@example.com"

  • 标红线的地方有说你的公钥被放在哪里,打开后复制下来

  • 打开Account Settings,点击SSH and GPG keys,然后new SSH,随便取一个title,然后粘贴进刚刚复制的公钥就可以了

5. 建立远程仓库与本地git的连接

作业要求是https协议,使用https协议就不用进行步骤4了,同时使用git协议执行完步骤4就可以进行这一步

  • add origin

    1
    $ git remote add origin https://github.com/user-name/repo-name.git

    这里的地址就在创建仓库的时候复制下来就可以了

  • 查看是否成功建立连接

    1
    $ git remote -v

    这样就算是连接成功了

    注意:在进行add origin的时候一定要打开到你建立工作空间的文件夹,可能进行一些安装工作之后不在那个文件夹了,这个时候执行add origin是会报错Not a git repository

  • 将本地提交推送到远程仓库

    1
    $ git push -u origin master

安装一些工具和插件

vscode有一些插件当你想对文件进行debug的时候他会提醒你快去install,但当你真的点了install之后……又告诉你不能install,按照课程网页上的教程也是不可行的

下面给出两种解决办法:

1. 无法访问无非是因为被qiang了,如果你愿意在虚机里开一个代理就可以了,我的主机是开着SSR代理的,但是可能是之前设置网卡的时候已经设置好了,虚拟机翻不了墙

2. 手动去github上下载镜像

1
2
3
mkdir $GOPATH/src/golang.org/
mkdir $GOPATH/src/golang.org/x/
go get -d github.com/golang/tools

进入tools

1
go install golang.org/x/tools/go/buildutil

不得不说这次作业真的让我明白了看报错信息的重要性,以前我用虚拟机只要报错就Google,但是哪有那么多人跟你是一模一样的bug


no file in …… tools

注意看这里,在我捣鼓了一下午的时间里出现了不少这句话,最后我学会了缺什么就去github上下什么

然后cp $GOPATH/src/github.com/golang/tools $GOPATH/src/golang.org/x/ -rf


好了

然后进入vscode再点install all就可以下载那些插件了,但是还有一个是FAILD,那个还要再下载一个镜像,但是也不是很重要,我就没再下了

3. 如果你还是不行还有两种情况(可见我折腾了多久o(╥﹏╥)o)

  • x库还是没有下载完全,根据报错内容和你自己的文件结构和这里对比,缺啥clone啥就对了
  • 如果你还是还是不行
    VScode老是报错找不到任何文件在什么什么路径下……八成是你的环境变量设置错了,或者是后来又改了或者是重启了没有重新source
    • 更改环境变量并且直接vim(这里要使用sudo vim不然没有权限) ~/.bashrc 然后source
    • vscode卸了重装

go tour 离线中文版本

参考这里

  • bitbucket上download repository

  • 然后移动到$GOPATH/src/bitbucket.org/mikespook/目录下,并重命名为go-tour-zh

  • cd 到gotour目录

    1
    2
    go install
    gotour
  • 这里我又报错了,还是没找到库里的一个文件,然后我再次对比发现少了x/net,用和clone tools一样的方法把net也clone下来就可以了


终于好了……为什么我没有图了呢……因为我的虚拟机突然卡死了……实在不好意思凑合看吧o(╥﹏╥)o