【前端】macOS 的 Gatekeeper 安全机制阻止你加载 bcrypt_lib.node 文件 如何解决

这个弹窗是 macOS 的 Gatekeeper 安全机制 阻止你加载 bcrypt_lib.node 文件,因为它不是 Apple 签名的文件。

你想 "忽视" 它,其实是让系统允许这个 .node 原生模块运行,解决方式如下:

sudo xattr -d com.apple.quarantine node_modules/bcrypt/lib/binding/napi-v3/bcrypt_lib.node

✅ 最直接有效的解决办法(终端允许这个库)

1. 找到你项目中出错的 bcrypt_lib.node 文件路径(例如):

bash 复制代码
node_modules/bcrypt/lib/binding/napi-v3/bcrypt_lib.node

如果不确定路径,运行项目时报错会提示 bcrypt_lib.node 的全路径。


2. 用 终端命令解锁并允许其运行

bash 复制代码
sudo xattr -d com.apple.quarantine node_modules/bcrypt/lib/binding/napi-v3/bcrypt_lib.node

⛳️ 如果你的文件在 napi-v6、napi-v1 等路径下,请根据你项目中提示的路径替换。


📌 这个命令的作用:

  • xattr:修改文件的扩展属性
  • -d com.apple.quarantine:删除"隔离标签",告诉系统这不是恶意软件
  • 用 sudo 是因为这个文件夹在 node_modules 下,需要管理员权限

🧩 如果你使用的是 yarn 或 pnpm 安装的 bcrypt:

不同包管理器路径略有不同,也可能是:

bash 复制代码
node_modules/@node-rs/bcrypt/bcrypt_lib.node

一样使用:

bash 复制代码
sudo xattr -d com.apple.quarantine 路径/bcrypt_lib.node

✅ 之后运行你的项目就不会报错了

bash 复制代码
npm run start
# 或
npx expo start

🚫 你不应该"删除"或"忽视"这个库

因为:

  • bcrypt_lib.node 是 bcrypt 库的核心加密原生模块
  • 忽视/删除它会导致密码无法加密或验证

💡 如果你不想用 bcrypt(可选方案)

你也可以改用纯 JS 实现的 bcryptjs,它没有 native 模块:

bash 复制代码
npm uninstall bcrypt
npm install bcryptjs

使用方式类似:

js 复制代码
const bcrypt = require('bcryptjs');

const hash = await bcrypt.hash(password, 10);
const match = await bcrypt.compare(password, hash);

✅ 总结(推荐你执行的指令):

bash 复制代码
sudo xattr -d com.apple.quarantine node_modules/bcrypt/lib/binding/napi-v3/bcrypt_lib.node

执行后再次运行项目即可。

如果你需要我根据你的报错路径帮你精确拼出这条命令,也可以贴出报错路径或全路径,我来帮你写。

相关推荐
郑州光合科技余经理几秒前
出海外卖平台:支付对接为什么要和下单收款分开
android·java·开发语言·前端·后端·php·ai编程
data analyse 45614 分钟前
前端自建访问统计,访客标识怎么设计才稳?Cookie、本地存储与设备指纹的取舍
前端·数据分析
终端安全笔记19 分钟前
配置锁状态那一栏查的是什么:报告里几项各自指向什么风险
android·前端·安全·ios
恋猫de小郭29 分钟前
Kotlin Toolchain 0.13,JetBrains 推荐 KMP 都切换到到全新工具链
android·前端·flutter
我是人✓41 分钟前
Java面向对象核心特性深度解析
java·前端·算法
是真的小外套43 分钟前
第19章:操作系统安全防护
安全
晓得迷路了1 小时前
栗子前端技术周刊第 149 期 - Vite+ 1.0、Preact 11、Next.js 16.4...
前端·javascript·react.js
IT_陈寒1 小时前
为什么我的Vue组件总是莫名其妙更新?
前端·人工智能·后端
狂师1 小时前
2026年APP自动化测试工具大全,12款主流工具一次看懂
前端·开源·测试
wangDer_me1 小时前
将mac电脑变成一个虚拟打印机
macos·电脑