经过不断的迭代,Win10 下已经发布多时的 Linux 子系统(WSL - Windows Subsystem for Linux)现在已经比较成熟了;WSL 默认只是不带图形化界面的终端窗口,这个由开放心态带来的新组合,补齐了 Windows 在终端操作和包管理等方面的短板,加上 windows 下丰富的软件生态,开发体验上已经可以简单类比甚至局部超越 macOS 了。
系统的安装和配置方法网上有很多了,本文将主要配置过程记录下来,并尝试指出一些前端开发项目中要特别注意的地方。
C:\Users\<YOURNAME>\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_<HASH>\LocalState\rootfs
;可以酌情在桌面创建快捷方式等lsb_release -a
记录下 18.04 等版本,便于相关配置项的选择
这是个可选的步骤,用速度更快的国内的软件源替换默认的官方地址。
首先备份原配置:
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
查看 https://opsx.alibaba.com/mirror 中 ubuntu(上一步查出的对应版本) 的“帮助”,
参考其说明后,其实直接做以下替换操作即可:
/etc/apt/sources.list
,替换默认的//archive.ubuntu.com/
等url为//mirrors.aliyun.com
# 以 vim 编辑器为例,替换语句为:
%s/\(\/\/\)\(.*\)\.ubuntu\.com/\/\/mirrors\.aliyun\.com/g
sudo apt-get update && sudo apt-get -y upgrade
oh-my-zsh 是 linux/macOS 上通用的一个 shell 优化框架,可以很好的支持 git 等;依次执行以下命令:
sudo apt-get install zsh
chsh -s /bin/zsh
# 把第一行的/bin/bash改成/bin/zsh,最后一行同样检查一下
sudo vim /etc/passwd
sudo apt-get install git
sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
sudo apt-get install curl software-properties-common
# 版本号可以换成 12.x 等
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
sudo apt-get install -y nodejs
# 检查版本(若不成功可以重启 wsl 命令行窗口再试)
node -v
npm -v
# 全局设置
git config --global user.name YOURNAME
git config --global user.email YOURNAME@foo.com
# 生成
ssh-keygen -t rsa -C "YOURNAME@foo.com"
# 查看
cat .ssh/id_rsa.pub
无论是 WSL1 还是 WSL2,和 windows 环境下的原生软件结合工作时都还有一定局限性。比如普遍用 webpack 热更新 驱动的前端开发项目,虽然 npm 命令能正常运行,但在 win10 下的编辑器软件中更改项目代码后,仍无法完成整个开发工作流:
目前唯一成功的方案是在 VSCode 中结合插件达成的,按文档 https://code.visualstudio.com/docs/remote/wsl 做如下设置:
code .
安装必要的组件同时要注意这里项目中的 npm 依赖项要在 wsl 环境下重新 install,原来在 cmd / powershell 下安装过的是无效的。
如果项目涉及到要用 docker 打包,可以在 win10 中先安装好 Docker,并作如下设置:
--End--