win10中Linux子系统配置go环境

Windows平台开发Golang时的一些缺点:

1. 命令行操作不太友好 (即使是PowerShell)

2. 有些库支持的不好 (比如说:涉及到 syscall.SIGUSR1之类的类Unix支持的信号)

 

解决方式:

1. Windows上安装虚拟机

2. 直接安装Linux系统

3. 购买Mac

 

但是,大多数人也就是在开发书写代码的时候,会想到要是Linux多好(当然,直接购买Mac的可以略过)

 

问题来了:

既想使用Windows,又不想安装虚拟机,还想对golang支持的好,在win10之前,貌似很难达成这个目标.

但是,现在win10支持Linux子系统,倒是可以实现.

 

实现步骤:

1. 安装Windows10

2. 开启并安装Linux子系统

       在GitHub上看到一些国外大牛,只要执行下面4个步骤即可

 

Open windows firewall settings (Windows key, then type firewall)
Click on "Allow an app or feature through Windows firewall"
Add C:\Windows\System32\lxrun.exe
now from command prompt, lxrun /install

 

也就是说

 

1. 设置防火墙

 

2. 允许应用通过防火墙通信

 

3. 添加子系统


 

4. 安装Linux子系统


 

安装成功之后,会看到Ubuntu的图标


 

进入Linux子系统, 会发现在  /mnt目录下面,挂载着Windows的各个盘符


 

到这里就好办了,在Windows上开发代码,直接在Linux子系统中运行程序 

(Windows与Linux子系统公用同一个IP地址

在Linux子系统中设置golang的环境变量即可

 

在Windows上我的go代码位于 D:/ubuntuGo目录下

所以,在Linux子系统中设置GOPATH为Linux子系统挂载的Windows  D:/ubuntuGo

 

到这里大功告成