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
请参阅受信任的依赖。