postinstall 和 node-gyp 构建。这些脚本存在潜在的安全风险,因为它们可以在你的机器上执行任意代码。
Bun 包含一个默认的允许列表,列出了包含
postinstall 脚本且已知安全的流行包。你可以
在这里查看该列表。
该默认列表仅适用于从 npm 安装的包。对于来自其他来源的包(例如 file:、link:、git: 或 github: 依赖),
你必须显式地将它们添加到 trustedDependencies 中。如果你遇到以下错误之一,很可能是你正在尝试使用一个需要
postinstall 脚本才能正常工作的包:
error: could not determine executable to run for packageInvalidExe
要允许 Bun 对特定包执行生命周期脚本,请将该包添加到你 package.json 文件中的
trustedDependencies。你也可以通过运行命令 bun pm trust <pkg> 来自动完成此操作。
请注意,这只允许对
trustedDependencies 中列出的特定包执行生命周期脚本,不包括该依赖包的依赖!package.json
添加完成后,运行全新安装。Bun 会重新安装你的依赖并正确执行安装。
terminal
完整的受信任依赖文档请参阅文档 > 包管理器 > 受信任的依赖。