Bun

指南包管理器

使用 Bun 添加受信任的依赖项

与其他 npm 客户端不同,Bun 不会为已安装的依赖项执行任意生命周期脚本,例如 postinstallnode-gyp 构建。这些脚本代表潜在的安全风险,因为它们可以在您的机器上执行任意代码。

Bun 包含一个默认允许列表,其中列出了包含已知安全的 postinstall 脚本的常用软件包。您可以在此处查看此列表。

如果您看到以下错误之一,您可能正在尝试使用一个使用 postinstall 才能正常工作的软件包

  • 错误:无法确定要为软件包运行的可执行文件
  • 无效的可执行文件

要允许 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

有关受信任依赖项的完整文档,请参阅文档 > 包管理器 > 受信任的依赖项