Bun

指南包管理器

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

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

Bun 包含一个默认允许列表,其中包含已知安全的包含 postinstall 脚本的流行包。你可以 在此处 查看此列表。

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

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

要告诉 Bun 允许特定包的生命周期脚本,请将该包添加到 package.json 中的 trustedDependencies

请注意,这仅允许 trustedDependencies 中列出的特定包的生命周期脚本,而不是 该依赖项的依赖项!

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

添加此项后,运行全新安装。Bun 将重新安装你的依赖项并正确安装

rm -rf node_modules
rm bun.lockb
bun install

请参阅 文档 > 包管理器 > 受信任的依赖项 以获取受信任依赖项的完整文档。