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

相关推荐
king王一帅9 分钟前
Incremark Solid 版本上线:Vue/React/Svelte/Solid 四大框架,统一体验
前端·javascript·人工智能
智航GIS5 小时前
10.4 Selenium:Web 自动化测试框架
前端·python·selenium·测试工具
前端工作日常5 小时前
我学习到的A2UI概念
前端
徐同保5 小时前
为什么修改 .gitignore 后还能提交
前端
一只小bit5 小时前
Qt 常用控件详解:按钮类 / 显示类 / 输入类属性、信号与实战示例
前端·c++·qt·gui
Mr -老鬼6 小时前
前端静态路由与动态路由:全维度总结与实践指南
前端
颜酱7 小时前
前端必备动态规划的10道经典题目
前端·后端·算法
wen__xvn7 小时前
代码随想录算法训练营DAY10第五章 栈与队列part01
java·前端·算法
大怪v8 小时前
前端佬们!!AI大势已来,未来的上限取决你的独特气质!恭请批阅!!
前端·程序员·ai编程
Mr -老鬼8 小时前
功能需求对前后端技术选型的横向建议
开发语言·前端·后端·前端框架