前面说完了如何在Ubuntu上部署Go语言开发环境,以及IPFS调试环境,但还是有很多人用的windows系统,毕竟很多软件在linux上并没有提供,日常使用会有点不方便。

一种折衷的方法是在Window上使用虚拟机来运行Linux环境,或者干脆就使用Windows版本的Golang和IPFS,但是虚拟机占用资源很多,而纯Windows环境又少了很多*nix系的小工具。

我这里提供一种方法,通过Win10提供的WSL来构建并存开发环境。

一、安装Linux子系统

本段参考了 https://www.jianshu.com/p/bc3...

首先进入控制面板在 启用或关闭Windows功能 里启用适用linux的Windows子系统


用WSL(Win10linux子系统)构建Golang的Windows和linux并存开发环境
用WSL(Win10linux子系统)构建Golang的Windows和linux并存开发环境

然后在应用商店搜索Ubuntu18.04点击安装,启动后输入用户名和账户密码,Ubuntu子系统就装好了。


用WSL(Win10linux子系统)构建Golang的Windows和linux并存开发环境

注:这过程出现问题可以去设置里打开开发者模式试试。

然后更换软件源为国内的源,此处举例为阿里云的镜像

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak //备份以前的文件免得出问题 sudo vim /etc/apt/sources.list 删掉里面所有内容,将下面的内容复制进去 deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse

然后运行下面的命令更新软件,以及安装基本工具

由于Linux子系统是最小化安装,所以我们还需要手动装一些工具,暂时先装这些吧。

$sudo apt update $sudo apt install gcc gdb build-essential git vim cmake wget curl python python3 二、安装zsh

zsh是比bash要好用许多的,所以我在子系统里也安装使用zsh,我们还是用OhMyZsh来傻瓜式安装,在命令行下输入以下语句然后输入密码即可。

$sudo apt install zsh $sh -c "$(wget https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"

然后安装一些插件,

$vim ~/.zshrc //找到下面这一句 plugins=( git ) //将其修改为 plugins=( git extract last-working-dir zsh-autosuggestions wd zsh-syntax-highlighting )

安装autojump,这是一个十分强大的目录跳转插件,建议安装,安装流程如下

$sudo apt-get install autojump $cd $git clone https://github.com/joelthelion/autojump.git $cd autojump $python ./install.py //最后会有一个提示,让你把那句话复制到~/.zshrc里去,每个人都不一样 vim ~/zshrc 复制刚刚那段到最后 source ~/.zshrc

此时运行autojump会有一个问题,这个问题只出现在WSL上,具体解决方案如下,参考了 https://blog.csdn.net/szhiele...

$vim ~/.zshrc //在最后加上下面这句 unsetopt BG_NICE $source ~/.zshrc 三、在WSL中安装Golang

最开始我想用WSL来折腾图形界面,后来发现是 完全没必要的 ,因为Win10和子系统是共享文件夹,我完全可以在Win10上操作源代码,在子系统里测试。但是Win10不能更改子系统下的文件,否则子系统就不能识别了。但是呢,子系统可以使用Win10的文件,而且是以权限777(全权限),拥有者为root的形式使用,所以我们可以把项目代码放在Win10的文件系统中,那么两边都可以用到了。

下面内容借鉴了

首先在在网上下好go的安装包,Linux和Windows都下载一份,Windows就直接安装即可,它会把GOPATH自动设置为C:Usersyounamego。然后我们把linux版的压缩文件如go1.11.1.linux-amd64.tar.gz放在c盘根目录,在子系统Ubuntu18.04中执行下面的命令行指令

cd /mnt/c sudo tar xf go1.11.1.linux-amd64.tar.gz -C /usr/local

然后在/etc/profile和~/.bashrc中加入环境变量

$sudo vim /etc/profile export GOROOT=/usr/local/go export GOPATH=/mnt/c/Users/youname/go //youname为你Windows设置的用户名,你也可以把两个环境变量都设置成/mnt/c/go,比较方便。 export PATH=$PATH:$GOROOT/bin:$GOPATH/bin $source /etc/profile $vim ~/.zshrc export GOROOT=/usr/local/go export GOPATH=/mnt/c/Users/youname/go //跟上面一样 export PATH=$PATH:$GOROOT/bin:$GOPATH/bin $source ~/.zshrc

然后看看go有没有安装成功

$go version go version go1.11.1 linux/amd64 四、安装IPFS

这个跟上一个教程无区别,参见 https://segmentfault.com/a/11... 。

由于子系统和Win10共用网络端口,所以在子系统里运行ipfs daemon,在Win10的浏览器里也是可以打开webui的。

五、配置编程环境

编辑器还是用的VScode,不过用的是Windows版的Vscode,首先,将VScode的shell设置成wsl,在设置里搜索终端,按下面的路径设置。


用WSL(Win10linux子系统)构建Golang的Windows和linux并存开发环境

然后建立工作区,将gx/ipfs和go-ipfs合并建立一个工作区开始编辑调试吧,同样,打开Go文件会提示下载插件,要架梯子,架梯子还安装失败就直接把安装命令复制到powershell安装即可,其他问题可以参考我写的Linux配置那篇教程。

然后是下载安装cmder,因为Ubuntu18.04子系统用的是cmd,非常难用,换一个终端模拟器还是很有必要的,cmder和wsltty都还可以。

安装好cmder,将shell设置为ubuntu子系统的shell,如下图


用WSL(Win10linux子系统)构建Golang的Windows和linux并存开发环境

然后,开心地在Win10上享受同时具备两个开放环境的体验吧。

本文系统(linux)相关术语:linux系统 鸟哥的linux私房菜 linux命令大全 linux操作系统

代码区博客精选文章
分页:12
转载请注明
本文标题:用WSL(Win10linux子系统)构建Golang的Windows和linux并存开发环境
本站链接:https://www.codesec.net/view/610678.html


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | 系统(linux) | 评论(0) | 阅读(72)