Bun

指南包管理器

使用 Bun 新增受信任的依賴項

與其他 npm 客戶端不同,Bun 不會執行已安裝依賴項的任意生命週期指令碼,例如 postinstallnode-gyp 構建。這些指令碼存在潛在的安全風險,因為它們可以在您的計算機上執行任意程式碼。

Bun 包含一個預設的精選列表,其中包含一些流行的、包含 postinstall 指令碼且已知是安全的軟體包。您可以在 此處 檢視此列表。

如果您看到以下錯誤之一,您可能正在嘗試使用需要 postinstall 才能正常工作的軟體包

  • error: could not determine executable to run for package
  • InvalidExe

要允許 Bun 為特定軟體包執行生命週期指令碼,請將該軟體包新增到 package.json 檔案中的 trustedDependencies。您可以透過執行命令 bun pm trust <pkg> 自動完成此操作。

請注意,這僅允許 trustedDependencies 中列出的特定軟體包的生命週期指令碼,不包括 該依賴項的依賴項!

{
  "name": "my-app",
  "version": "1.0.0",
  "trustedDependencies": ["my-trusted-package"]
}

新增此項後,請執行一次新的安裝。Bun 將重新安裝您的依賴項並正確安裝

rm -rf node_modules
rm bun.lock
bun install

有關受信任依賴項的完整文件,請參閱 文件 > 包管理器 > 受信任的依賴項