假如同事用的都是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 项目中的命令脚本,运行逻辑与同事完全一致,团队协作也将畅通无阻。

相关推荐
牛奶1 小时前
2026年大模型怎么选?前端人实用对比
前端·人工智能·ai编程
牛奶1 小时前
前端人为什么要学AI?
前端·人工智能·ai编程
Kagol4 小时前
🎉OpenTiny NEXT-SDK 重磅发布:四步把你的前端应用变成智能应用!
前端·开源·agent
GIS之路5 小时前
ArcGIS Pro 中的 notebook 初识
前端
JavaGuide5 小时前
7 道 RAG 基础概念知识点/面试题总结
前端·后端
ssshooter5 小时前
看完就懂 useSyncExternalStore
前端·javascript·react.js
格砸6 小时前
从入门到辞职|从ChatGPT到OpenClaw,跟上智能时代的进化
前端·人工智能·后端
没有故事的Zhang同学7 小时前
01-主题|内存管理@iOS-内存五大分区
程序员
Live000007 小时前
在鸿蒙中使用 Repeat 渲染嵌套列表,修改内层列表的一个元素,页面不会更新
前端·javascript·react native
柳杉7 小时前
使用Ai从零开发智慧水利态势感知大屏(开源)
前端·javascript·数据可视化