前面说完了如何在Ubuntu上部署Go语言开发环境,以及IPFS调试环境,但还是有很多人用的Windows系统,毕竟很多软件在Linux上并没有提供,日常使用会有点不方便。
一种折衷的方法是在Window上使用虚拟机来运行Linux环境,或者干脆就使用Windows版本的Golang和IPFS,但是虚拟机占用资源很多,而纯Windows环境又少了很多*nix系的小工具。
我这里提供一种方法,通过Win10提供的WSL来构建并存开发环境。
一、安装Linux子系统
首先进入控制面板在启用或关闭Windows功能里启用适用linux的Windows子系统
然后在应用商店搜索Ubuntu18.04点击安装,启动后输入用户名和账户密码,Ubuntu子系统就装好了。
注:这过程出现问题可以去设置里打开开发者模式试试。
然后更换软件源为国内的源,此处举例为阿里云的镜像
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,在设置里搜索终端,按下面的路径设置。
然后建立工作区,将gx/ipfs和go-ipfs合并建立一个工作区开始编辑调试吧,同样,打开Go文件会提示下载插件,要架梯子,架梯子还安装失败就直接把安装命令复制到powershell安装即可,其他问题可以参考我写的Linux配置那篇教程。
然后是下载安装cmder,因为Ubuntu18.04子系统用的是cmd,非常难用,换一个终端模拟器还是很有必要的,cmder和wsltty都还可以。
安装好cmder,将shell设置为ubuntu子系统的shell,如下图
然后,开心地在Win10上享受同时具备两个开放环境的体验吧。