假如同事用的都是mac,而只有你是windows,你该如何应对

入职当天,发在我手上的竟然是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 项目中的命令脚本,运行逻辑与同事完全一致,团队协作也将畅通无阻。

相关推荐
gnip7 分钟前
做个交通信号灯特效
前端·javascript
小小小小宇7 分钟前
Webpack optimization
前端
尝尝你的优乐美9 分钟前
前端查缺补漏系列(二)JS数组及其扩展
前端·javascript·面试
咕噜签名分发可爱多12 分钟前
苹果iOS应用ipa文件安装之前?为什么需要签名?不签名能用么?
前端
她说人狗殊途26 分钟前
Ajax笔记
前端·笔记·ajax
yqcoder35 分钟前
33. css 如何实现一条 0.5 像素的线
前端·css
excel1 小时前
Nuxt 3 + PWA 通知完整实现指南(Web Push)
前端·后端
yuanmenglxb20041 小时前
构建工具和脚手架:从源码到dist
前端·webpack
rit84324991 小时前
Web学习:SQL注入之联合查询注入
前端·sql·学习
啃火龙果的兔子1 小时前
Parcel 使用详解:零配置的前端打包工具
前端