入职当天,发在我手上的竟然是ThinkPad,这让我满头雾水,后来告知我试用期过了且定到L3才会给我发mac,那就等待吧。但这其中我遇到了个比较关键的问题,想和大家分享下。
或许你已经在想,除了一些操作上的差异外,还能有什么影响呢?其实唯二的大头问题在你刚进入公司就要到来,那就是跑项目。由于系统差异问题,大伙用的都是mac,就默认在一些配置环境中配置的是ios系统的指令,而你手里的安卓本是看不懂的。
核心问题
例如 mac 用户的 package.json 脚本、Shell 脚本、或开发配置中,经常包含以下命令:
js
rm -rf node_modules/
ls -al
cp .env.example .env
pwd
sh build.sh
这些命令其实在 Windows CMD 或 PowerShell 中是无法识别的,执行时会直接报错。看到这里 mac 用户可能会冒出一句:"啊,真的假的?" 没错,确确实实是真的。Windows 和类 Unix 系统(macOS、Linux)在命令行工具、路径处理和权限机制上有本质区别。
那么有什么处理方法呢?直接更改 package.json 文件来适配 windows 怎么样,那在 code review 完你可能会收到一句:你明天可以接着放暑假了。
那么我们该如何解决呢?首先当然不是更改文件,不然 push 完你的同事就该懵逼了。这时我们就该拿出我们的虚拟机了,给自己打造一个 mac 开发环境,没有我们就自己造!
如何把自己的 windows 变成 mac
1、安装WSL2
打开 PowerShell(以管理员身份),执行:
js
wsl --install
Windows 10 用户需先更新 WSL 组件,可参考官方文档:learn.microsoft.com/zh-cn/windo...
如果发现安装后还是无法使用,可以试试万能的重启电脑。
2、安装 Ubuntu 发行版
从 Microsoft Store 安装 Linux 发行版。选择 Ubuntu 20.04 或更新版本,并完成安装初始化。(设置用户名和密码)

3、将项目代码移入 Linux 子系统中
代码放在 WSL 子系统路径中运行,能避免很多路径映射问题,并且可以提高性能。
打开 WSL 终端,进入你的 Linux 系统,执行:
js
cd ~
mkdir workspace
然后在 Windows 文件资源管理器中,把你的项目文件复制到:
js
\\wsl.localhost\Ubuntu\home\你的用户名\workspace
这个过程可能会有点慢,可以试着先忽略像node_modules这样的文件,然后当复制到后再 install。
4、使用 VSCode 连接 WSL 开发
vscode 也针对这种情况出过相关策略,可以安装 Remote - WSL 插件,然后在 VSCode 中按下 F1,输入:
js
Remote-WSL: Open Folder in WSL
选择你刚刚放进去的项目目录即可。此时你将在 VSCode 中享受到原生 Linux 的开发体验。
5、Docker 使用注意:连接 WSL 后端
如果你的项目使用 Docker 开发,在安装 Docker Desktop 后:
- 打开 Docker 设置
- 前往「Resources」>「WSL Integration」
- 启用对 Ubuntu 子系统的集成
这样你就可以在 WSL 中直接运行 docker-compose up,像在 mac 上一样使用容器开发环境。
总结
完成上述配置后,你的 Windows 机就能跑任何 macOS 项目中的命令脚本,运行逻辑与同事完全一致,团队协作也将畅通无阻。