wsl+ubuntu+vscode的go开发环境安装
这是我参与「第五届青训营 」伴学笔记创作活动的第 15 天
在我的第一篇笔记里,提到了windows下wsl+go开发环境的安装。此篇记录过程。
个人环境:win10 64位,过程中可能需要多次重启。
Ubuntu20.04.5 LTS安装
最简单的方法:打开Microsoft Store搜索Ubuntu后下载20.04.05版本(别的也行)
一般下载LTS版本,LTS=long term support,长期支持版本,维护更新周期一般为3-5年,一般都是稳定正式版本。
下面安装完WSL2后才能启动Ubuntu,然后添加linux用户和密码。
开启Hype-v的虚拟化功能
添加 Hpye-v
找不到 Hype-v(上面能找到的跳过这步)
电脑上随便哪个位置新建一个 .bat
文件,(可以新建一个 txt 文件,将内容复制进去再将文件改为 .bat)
pushd "%~dp0"
dir /b %SystemRoot%\servicing\Packages*Hyper-V*.mum >hyper-v.txt
for /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages%%i"
del hyper-v.txt
Dism /online /enable-feature /featurename:Microsoft-Hyper-V-All /LimitAccess /ALL
以管理员身份运行该文件,等待安装最后输入 Y
打开 power shell 输入以下命令:
该命令是启动WSL。WSL 是 Linux 操作系统内核的一些组件,其实我们虽然是在 windows下进行安装 docker 实际上我们的 docker 还是跑在了 Linux 上的,这就是为什么我们需要用 WSL 的原因。
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
WSL2安装
安装时若出现下图,可以先下载Ubuntu 20.04.4 LTS
安装完成之后,命令行输入以下将 wsl2 设置为默认版本。
wsl --set-default-version 2
先下载Ubuntu 20.04.5 LTS
开启相关功能(如下图)并安装WSL2即可启动Ubuntu。
常见问题
如果输入wsl没有正确进入Ubuntu,有可能是wsl默认进入了docker,需要重新设置默认配置
- 使用
wslconfig /list
来显示安装的全部子系统,在列表中会标注哪个系统是默认的 - 使用
wslconfig /setdefault Ubuntu-20.04
更改默认配置到Ubuntu
VSCode+Linux Go环境安装
VSCode安装
一路下一步即可。
点击Vscode左下角打开远程连接到WSL,很方便,可以直接进行linux操作。
Linux下安装和配置SDK
首先点击下载链接,然后在Featured downloads下面寻找Linux版本的go1.17.7.linux-amd64.tar.gz压缩包(高版本也可以),进行下载,随后将得到的压缩包拷贝到/opt目录下,要注意安装路径不要有中文或者特殊符号如空格等,常用的Linux命令见文章。
sudo cp go1.17.7.linux-amd64.tar.gz /opt
下载完用xftp将压缩包转移到家目录下,然后用下面的命令解压缩。
sudo tar zxf go1.17.7.linux-amd64.tar.gz -C /usr/local
解压之后得到名为go的文件夹,进入文件夹,进入bin目录,执行./go version
,得到如下输出则表明go的SDK已经安装成功。
在Linux下配置go的环境变量
在/etc/profile下面添加三条语句
sudo vi /etc/profile
export GOPATH=/goWorkPlace #工作目录
export GOROOT=/usr/local/go #解压目录
export PATH=$PATH:$GOROOT/bin
随后需要执行如下命令,环境变量才会生效。
source /ect/profile
随后执行go version
指令,若输出了你所安装的go的版本,则证明Go安装成功。
GOBIN,是之后VScode所下载的插件下载到此目录,根据自己Go的安装的路径进行修改。
配置GOBIN: go env -w GOBIN=%GOROOT%\bin
(这里的GOBIN为你的bin目录的绝对路径)
查看Go的环境变量,执行go env
。
不自定义解压和项目目录,直接无脑复制的话可以参考:Go + vscode环境配置
随后在项目目录里新建一个main.go
,执行go mod init 文件目录
生成go mod 文件,执行go run main.go
,查看是否运行以及提示安装插件。
package main
import "fmt"
func main() {
fmt.Println("Hello GO!!!")
}
Vscode插件安装
不出意外的话,创建一个hello.go的文件后,右下角会提示你要安装相应的应用,选择 Install All,等待安装即可,安装成功如下:
没有提示的话:按住Ctrl+Shift+P 输入Go:Install/Update Tools,全选即可(上面有提示的话忽略这条)。
Go插件在WSL的安装,直接在拓展里找即可,也可以上网搜索一些好用的插件,以及辅助工具。
GO111MODULE的开启和GOPROXY的设置
可以解决导包难的问题,也可以不设置。
go env -w GO111MODULE=on Golang1.16默认开启,1.16一下需要执行这条命令
go env -w GOPROXY=https://goproxy.cn,direct 设置七牛CDN
gRPC库+protobuf编译工具安装
安装grpc
go get -u google.golang.org/grpc
protobuf编译工具
编译安装protobuf的编译器protoc
wget https://github.com/google/protobuf/releases/download/v2.6.1/protobuf-2.6.1.tar.gz
tar zxvf protobuf-2.6.1.tar.gz
cd protobuf-2.6.1./configure
make
make install
执行 protoc -h
或protoc --version
查看 protoc 版本,成功输出版本号,说明安装成功
安装插件 protoc-gen-go,它是一个go程序,编译它之后将可执行文件执行路径写入环境变量
go get github.com/golang/protobuf/protoc-gen-go
获取proto包
go get github.com/golang/protobuf/proto
在go中使用参考前期文章gRPC实战。
Docker安装
一路安装完后开启功能: