Skip to content

В отличие от других npm-клиентов, Bun не выполняет произвольные скрипты жизненного цикла для установленных зависимостей, такие как postinstall и сборки node-gyp. Эти скрипты представляют потенциальный риск безопасности, так как могут выполнять произвольный код на вашей машине.

NOTE

Bun включает список разрешённых по умолчанию популярных пакетов, содержащих скрипты `postinstall`, которые известны как безопасные. Вы можете увидеть этот список [здесь](https://github.com/oven-sh/bun/blob/main/src/install/default-trusted-dependencies.txt).

Если вы видите одну из следующих ошибок, вы, вероятно, пытаетесь использовать пакет, который требует postinstall для правильной работы:

  • error: could not determine executable to run for package
  • InvalidExe

Чтобы разрешить Bun выполнять скрипты жизненного цикла для определённого пакета, добавьте пакет в trustedDependencies в вашем файле package.json. Вы можете сделать это автоматически, выполнив команду bun pm trust <pkg>.

NOTE

Обратите внимание, что это разрешает скрипты жизненного цикла только для конкретного пакета, указанного в `trustedDependencies`, _не_ для зависимостей этой зависимости!
json
{
  "name": "my-app",
  "version": "1.0.0",
  "trustedDependencies": ["my-trusted-package"] 
}

После добавления этого выполните свежую установку. Bun переустановит ваши зависимости и правильно установит их

sh
rm -rf node_modules
rm bun.lock
bun install

Смотрите Документация > Package manager > Доверенные зависимости для полной документации по доверенным зависимостям.

Bun от www.bunjs.com.cn