npm run dev时弹窗Apple无法验证"fsevents.node"是否包含可能危害Mac安全或泄漏隐私的恶意软件,如何解决?
原因
macOS 有一个名为 "隔离属性"(quarantine attribute) 的安全机制。当你从网络(如通过 Git 克隆、浏览器下载、或者某些 npm install 过程)获取文件时,系统会自动给这些文件打上一个"com.apple.quarantine"的标签。
这个标签的作用是:当你第一次运行这些来自外部的程序时,系统会弹出那个"Apple无法验证..."的警告框,让你确认是否信任。
我们的项目文件(特别是 node_modules 里的二进制包如 fsevents.node 和 esbuild)很可能因为是通过 git clone 或 npm install 下载的,就被贴上了这个"隔离"标签。
解决方案
javascript
1、进入项目目录
2、运行 sudo xattr -rc .
3、rm -rf node-modules package-lock.json
4、npm install
sudo xattr -rc . 的作用,就是一口气把当前项目文件夹里所有文件和子文件夹上的这个(以及其他所有)扩展属性标签全部撕掉。标签没了,系统就不会再弹窗警告,二进制文件也就能够正常执行了。