postinstall 和 node-gyp 构建。这些脚本代表了潜在的安全风险,因为它们可以在您的机器上执行任意代码。
Bun 包含了一个流行包的默认白名单,这些包包含已知安全的
postinstall 脚本。您可以在此处查看此列表 here。此默认列表仅适用于从 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
请参阅 文档 > 包管理器 > 受信任的依赖项 以获取受信任依赖项的完整文档。