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

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