【報錯問題】 macOS 的安全策略(Gatekeeper)阻止了未簽名的原生模塊(bcrypt_lib.node)加載

這個錯誤是由于 macOS 的安全策略(Gatekeeper)阻止了未簽名的原生模塊(bcrypt_lib.node)加載 導致的。以下是具體解決方案:


1. 臨時允許加載未簽名模塊(推薦先嘗試)

在終端運行以下命令,臨時解除限制:

sudo xattr -r -d com.apple.quarantine /Users/chengchen/Documents/666\ documents/666/666book/server/node_modules/bcrypt/lib/binding/napi-v3/bcrypt_lib.node

此命令會移除 macOS 對該文件的隔離標記(quarantine)。


2. 完全重建 bcrypt 模塊

確保編譯環境正確后,徹底重新編譯:

cd /Users/chengchen/Documents/666\ documents/666/666book/server
npm rebuild bcrypt --update-binary

如果失敗,嘗試強制重新安裝:

npm uninstall bcrypt
npm install bcrypt --force

3. 檢查 Xcode 命令行工具

確保已安裝最新版本:

xcode-select --install

然后同意許可協議:

sudo xcodebuild -license accept

4. 修改 macOS 安全性設置(謹慎操作)

如果上述方法無效,臨時放寬安全策略(僅限開發環境):

  1. 打開系統設置 → 隱私與安全性
  2. 在底部找到提示 “已阻止加載 bcrypt_lib.node”,點擊 “仍要允許”
  3. 重啟終端后再運行項目。

5. 終極方案:換用 bcryptjs

如果仍無法解決,使用純 JavaScript 實現的替代庫:

npm uninstall bcrypt
npm install bcryptjs

然后在代碼中將:

const bcrypt = require('bcrypt');

替換為:

const bcrypt = require('bcryptjs');

(兩者 API 完全兼容,但 bcryptjs 性能略低)


關鍵原因說明

  • macOS Gatekeeper 會阻止加載未經驗證簽名的二進制文件(尤其是從網絡下載的)。
  • bcrypt 的預編譯二進制文件可能因路徑含空格(666 documents)或權限問題被標記為不安全。
  • 解決方案的核心是 讓系統信任該文件繞過限制(僅限開發環境)。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/79189.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/79189.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/79189.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

AI實現制作logo的網站添加可選顏色模板

1.效果圖 LogoPalette.jsx import React, {useState} from react import HeadingDescription from ./HeadingDescription import Lookup from /app/_data/Lookup import Colors from /app/_data/Colors function LogoPalette({onHandleInputChange}) { const [selectOptio…

云原生后端架構的挑戰與應對策略

??個人主頁??:慌ZHANG-CSDN博客 ????期待您的關注 ???? 隨著云計算、容器化以及微服務等技術的快速發展,云原生架構已經成為現代軟件開發和運維的主流趨勢。企業通過構建云原生后端系統,能夠實現靈活的資源管理、快速的應用迭代和高效的系統擴展。然而,盡管云原…

【C++】模板為什么要extern?

模板為什么要extern? 在 C 中,多個編譯單元使用同一個模板時,是否可以不使用 extern 取決于模板的實例化方式(隱式或顯式),以及你對編譯時間和二進制體積的容忍度。 1. 隱式實例化:可以不用 ex…

中小企業MES系統數據庫設計

版本:V1.0 日期:2025年5月2日 一、數據庫架構概覽 1.1 數據庫選型 數據類型數據庫類型技術選型用途時序數據(傳感器讀數)時序數據庫TimescaleDB存儲設備實時監控數據結構化業務數據關系型數據庫PostgreSQL工單、質量、設備等核心…

VUE篇之樹形特殊篇

根節點是level:1, level3及其子節點有關聯&#xff0c;但是和level2和他下面的子節點沒有關聯 思路&#xff1a;采用守護風琴效果&#xff0c;遍歷出level1和level2級節點&#xff0c;后面level3的節點&#xff0c;采用樹形結構進行關聯 <template><div :class"…

洛圣電玩系列部署實錄:一次自己從頭跑通的搭建過程

寫這篇文章不是為了“教大家怎么一步步安裝”&#xff0c;而是想把我自己完整跑通洛圣電玩整個平臺的經歷復盤下來。因為哪怕你找到了所謂的全套源碼資源&#xff0c;如果沒人告訴你這些資源之間是怎么連起來的&#xff0c;你依舊是一臉懵逼。 我拿到的是什么版本&#xff1f; …

騰訊云web服務器配置步驟是什么?web服務器有什么用途?

騰訊云web服務器配置步驟是什么?web服務器有什么用途&#xff1f; Web服務器配置步驟&#xff08;以常見環境為例&#xff09; 1. 安裝Web服務器軟件 Linux系統&#xff08;如Ubuntu&#xff09; Apache: sudo apt update sudo apt install apache2 Nginx: sudo apt install…

第37課 繪制原理圖——放置離頁連接符

什么是離頁連接符&#xff1f; 前邊我們介紹了網絡標簽&#xff08;Net Lable&#xff09;&#xff0c;可以讓兩根導線“隔空相連”&#xff0c;使原理圖更加清爽簡潔。 但是網絡標簽的使用也具有一定的局限性&#xff0c;對于兩張不同Sheet上的導線&#xff0c;網絡標簽就不…

Win下的Kafka安裝配置

一、準備工作&#xff08;可以不做&#xff0c;畢竟最新版kafka也不需要zk&#xff09; 1、Windows下安裝Zookeeper &#xff08;1&#xff09;官網下載Zookeeper 官網下載地址 &#xff08;2&#xff09;解壓Zookeeper安裝包到指定目錄C:\DevelopApp\zookeeper\apache-zoo…

前端Vue3 + 后端Spring Boot,前端取消請求后端處理邏輯分析

在 Vue3 Spring Boot 的技術棧下&#xff0c;前端取消請求后&#xff0c;后端是否繼續執行業務邏輯的答案仍然是 取決于請求處理的階段 和 Spring Boot 的實現方式。以下是結合具體技術的詳細分析&#xff1a; 1. 請求未到達 Spring Boot 場景&#xff1a;前端通過 AbortContr…

【藍橋杯省賽真題58】Scratch畫臺扇 藍橋杯scratch圖形化編程 中小學生藍橋杯省賽真題講解

目錄 scratch畫臺扇 一、題目要求 編程實現 二、案例分析 1、角色分析 2、背景分析 3、前期準備 三、解題思路 四、程序編寫 五、考點分析 六、推薦資料 1、scratch資料 2、python資料 3、C++資料 scratch畫臺扇 第十五屆青少年藍橋杯scratch編程省賽真題解析 …

GPT-4o 圖像生成與八個示例指南

什么是GPT-4o圖像生成&#xff1f; 簡單來說&#xff0c;GPT-4o圖像生成是集成在ChatGPT內部的一項功能。用戶可以直接在對話中&#xff0c;通過文本描述&#xff08;Prompt&#xff09;來創建、編輯和調整圖像。這與之前的圖像生成工具相比&#xff0c;體驗更流暢、交互性更強…

TCP 連接的“三次握手”與“四次揮手”

目錄 什么是“三次握手” “四次揮手”&#xff1f; 三個標記位 三次握手 四次揮手 為什么握手三次&#xff0c;揮手需要四次&#xff1f; 為什么要等2MSL&#xff1f; 什么是“三次握手” “四次揮手”&#xff1f; 三次握手&#xff08;Three-way Handshake&#xf…

力扣刷題 -- 206.反轉鏈表

題目&#xff1a; 方法一&#xff1a;創建新鏈表&#xff0c;遍歷舊鏈表&#xff0c;進行頭插 代碼實現&#xff1a; /*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/typedef struct ListNode ListNode; struc…

Vue 中的過渡效果與響應式數據:transition、transitiongroup、reactive 和 ref 詳解

在 Vue 開發過程中&#xff0c;為應用添加過渡效果和處理響應式數據是提升用戶體驗和實現動態交互的關鍵。 一、transition&#xff1a;元素的單元素過渡效果 transition是 Vue 提供的內置組件&#xff0c;專門用于為單個元素或組件添加過渡動畫。它會在元素插入、更新或移除…

文章七《深度學習調優與超參數優化》

&#x1f680; 文章7&#xff1a;深度學習調優與超參數優化——你的AI模型需要一場"整容手術" 一、模型調優核心策略&#xff1a;像調整游戲裝備一樣優化模型 1. 學習率調整&#xff1a;掌控訓練的"油門踏板" 比喻&#xff1a;把模型訓練想象成賽車游戲&…

Python裝飾器執行時機詳解:模塊加載時的魔法

裝飾器執行的基本原理 Python裝飾器在程序運行過程中遵循獨特的執行邏輯&#xff0c;其核心特性體現在模塊加載階段的即時執行。通過示例7-2的registration.py 模塊&#xff0c;我們可以清晰觀察到裝飾器與函數執行的時序差異。 registry []def register(func):print(runnin…

基于隨機森林的糖尿病預測模型研究應用(python)

基于隨機森林的糖尿病預測模型研究應用 1、導入糖尿病數據集 In [14]: import pandas as pd import seaborn as sns import numpy as np import matplotlib.pyplot as plt datapd.read_csv(./糖尿病數據集.csv,encoding"gbk") data.head()#查看前五行數據Out[14]:…

【Web應用服務器_Tomcat】二、Tomcat 核心配置與集群搭建

在企業級 Java Web 應用的部署場景中&#xff0c;Tomcat 作為主流的 Servlet 容器和 Web 服務器&#xff0c;其核心配置的優化以及集群搭建對于保障應用的高性能、高可用性至關重要。 一、Tomcat 核心配置優化? 1.1 server.xml 配置文件解析? Tomcat 的核心配置文件server…

Linux(文件管理)

文件命名規則 除了字符“/”之外&#xff0c;所以的字符都可以使用&#xff0c;但要注意&#xff0c;在目錄名或文件名中&#xff0c;不建議使用某些特殊字符&#xff0c;如&#xff1a;<、>、?、*等 如果一個文件名中包含了特殊字符&#xff0c;例如空格&#xff0c;那…