與其他 npm 客戶端不同,Bun 不會為已安裝的依賴項執行任意生命週期腳本,例如 postinstall
和 node-gyp
建置。這些腳本代表潛在的安全風險,因為它們可以在您的機器上執行任意程式碼。
Bun 包含一個預設的允許清單,其中列出已知安全的熱門套件,這些套件包含 postinstall
腳本。您可以在這裡查看此清單。
如果您看到以下錯誤之一,您可能正在嘗試使用需要 postinstall
才能正常運作的套件
錯誤:無法確定要為套件執行的可執行檔
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
請參閱文件 > 套件管理器 > 信任的依賴項以取得信任的依賴項的完整文件。