您的当前位置:首页正文

配置Go语言开发环境

2020-06-25 来源:步旅网
配置Go语⾔开发环境

配置Go语⾔开发环境:

⼤前提: 获取代理服务(进⼊墙外世界的⼀些办法)

window:

1. go的安装,指定gopath

golang.org;国内,go语⾔中⽂⽹,或其他镜像

默认的是users/yourname/go 下,可以修改到另外合适的位置,也可以分成镜像和私有等等2. 环境变量3. git的安装

4. git proxy 和 go get proxy 的解决,两者不同

修改git环境变量: ⼿动修改

system C://programdataglobal C://user//.gitconfigrepo /.gitconfig

命令⾏修改

见 git help config -> info.text ;打开查看

添加 go get 的系统代理

go get 不会⾛git的⽤户配置的全局代理,需要配置系统全局代理,或者bash代理,或者goproxy才能使⽤⽅法 1,固定全局

右键此电脑,⾼级系统管理,环境变量设置,设置之后,vscode内可以安装插件(看输出也明⽩实际也是使⽤go get命令): http_proxy socks5:http://127.0.0.1:8888

https_proxy socks5:http://127.0.0.1:8888

⽅法 2,暂时设置代理(powershell,bash 内),再使⽤go get⾃⾏安装 set https_proxy=http://127.0.0.1:8888

set http_proxy=http://127.0.0.1:8888

⽅法 3,使⽤goproxy.io 进⾏代理,风险转移(参考 )

5. 开发⼯具 vscode

win安装vscode属于傻⽠式,在官⽹获得安装包后,⾃⾏安装6. 开发⼯具的必备插件

- 中⽂简体,搜索 Chinese(Simplified) Language

- golang ,会建议⼀套插件,安装失败回去检查代理,⽹络

Installing 17 tools at C:\\go\\bin in module mode. gocode gopkgs go-outline go-symbols guru

gorename gotests

gomodifytags impl fillstruct goplay godoctor dlv

gocode-gomod godef goreturns golint

linux(ubuntu)

问题:

1. 获取ubuntu的发⾏版本

推荐清华⼤学开源镜像站,或者阿⾥云,华为云;下载稳定。2. 安装ubuntu虚拟机,进⾏基础配置

注意,安装64位镜像,需要现在外机的bios的虚拟机选项中启⽤虚拟化选项才能有效安装,⽼的型号的电脑没有这个选项,请注意检查

获取ubuntu镜像后,校验md值(如果⽹络环境不稳定,建议校验)

下载vmworkstation prod 新版;新建虚拟机;选择⾃定义,⼀直下⼀步到,稍后安装操作系统,或者直接安装程序光盘。区别在

于前者需要⾃⼰挂载光盘⽂件,后者先⾏挂载。下⼀步操作系统选择linux,发⾏版选择对应版本

下⼀步继续分配硬件资源ubuntu20.14 最低要求,2核cpu,4gb内存,在分配时,需要分配硬件时需要分配⾜够默认使⽤nat⽹络

下⼀步到完成,点击完成后,如果预先勾选了安装程序光盘映像⽂件,虚拟机启动时,会直接光盘启动;勾选的稍后安装操作系统,在设置-硬件选项中使⽤虚拟光盘⽂件,选择你下载的iso⽂件

光盘启动后,会进⼊ubuntu安装界⾯,如果是u盘启动,会进⼊ubuntu桌⾯,类似⽼⽑桃pe,可以点击上⾯的安装进⼊安装界⾯安装时,基本勾选默认,因为是简单使⽤的虚拟机,不需要在分区上太花⼼思;注意,第⼀,不需要勾选预下载更新,减少安装时间,减少⽹络对安装的影响,第⼆,勾选第三⽅硬件驱动选项,预先安装,第三

,勾选最⼩化安装,节省安装时间,减少预装,可以后续⾃⼰配置,第四,语⾔可以提前选择中⽂简体,时区选择上海。等待安装完成,重启虚拟机。

进⼊虚拟机,检查⽹络是否可以使⽤,nat⽹络由主机⽹络映射,出问题的概率最⼩;

更新源,更新程序,清空不再使⽤的软件包; sudo apt-get update,sudo apt-get upgrade,sudo apt-get autoremove,reboot重启虚拟机

安装open-vmware-tool启⽤黏贴板共享,调节分辨率,可以通过apt install 安装,也是ubuntu的建议安装选项;当然你也可以通过虚拟机选项,安装扩展⼯具,不过不建议。

sudo apt-get install open-vm-tools

3. 配置ubuntu语⾔,输⼊法(⾮搜狗),获取图形化配置⼯具,,字体;个性化

install dconf-editor 关闭窗⼝动画

添加中⽂,中⽂输⼊法;在应⽤->全部中,找到language support,添加中⽂,等待安装完成,点击应⽤到所有,选择输⼊法为ibussudo apt-get install ibus-pinyin 安装ibus下的智能拼⾳

在设置,区域语⾔,中,在输⼊源中添加汉语->中⽂智能拼⾳在上⽅语⾔,格式中选择,汉语,中国

1. 安装go并配置环境变量

1. 下载解压,配置环境2. 通过软件源傻⽠式安装3. 通过go env 查看环境变量

4. 添加私有路径到gopath,公有镜像和私⼈代码分开5. 修改proxy,使⽤goproxy.io

Command 'go' not found, but can be installed with:sudo snap install go # version 1.15.2, or

sudo apt install golang-go # version 2:1.13~1ubuntu2sudo apt install gccgo-go # version 2:1.13~1ubuntu2See 'snap info go' for additional versions.

# 使⽤最新版本通过以下命令安装

#This revision of snap \"go\" was published using classic confinement and thus may perform

# arbitrary system changes outside of the security sandbox that snaps are usually confined to,# which may put your system at risk.#

# If you understand and want to proceed repeat the command including --classic.$ sudo snap --classic install go$ go version

go version go1.15.2 linux/amd64# Custom gopath

# Here's an example directory layout:# 新增路径到gopath的例⼦# GOPATH=/home/user/go#

# /home/user/go/# src/# foo/

# bar/ (go code in package bar)# x.go

# quux/ (go code in package main)# y.go# bin/

# quux (installed command)# pkg/

# linux_amd64/# foo/

# bar.a (installed package object)#给GOPATH 添加路径

$go env -w GOPATH=\"/home/godev/go;/home/godev/Mygolib\"#给go get 添加GOPROXY$go env -w

1. 安装git

sudo apt-get install git

2. 安装vscode

sudo snap install --classic code # or code-insiders 或 sudo apt get install ./.deb;使⽤snap是官⽅推荐的⽅式,便于解决依赖问题

3. 解决系统代理问题

1. 通vZray等代理软件 (使⽤脚本安装,TODO)

2. 和主机共享代理,代理软件勾选,允许来⾃局域⽹的连接;ubuntu 设置socks5地址为主机的ip+代理端⼝;更为简单有效(对wget,git都是有效果的,属于全局效⽤)

1. 虚拟机终端⾛代理(TODO)

使⽤ proxychains4

2. git的多层配置,全局,⽤户,以及仓库的理解(TODO)3. 安装vscode的插件

使⽤snap安装的go,需要在vscode的配置⽂件中配置默认的goroot;配置⽤户或者workspace的setting.json,需要配置的和go env显⽰的⼀致

{

\"go.goroot\": \"/snap/go/6439\"}

之后安装插件,就不会出现找不到go位置的问题

参考链接

\"git windows环境变量的位置\"> \"⼀个全球代理为 Go 模块⽽⽣\" \"vZray的安装\"

\"ubuntu虚拟机使⽤主机代理\"

\"基于proxychains4进⾏终端加速 wget,curl等\" vZray ->Z,2

因篇幅问题不能全部显示,请点此查看更多更全内容