diff --git a/packages/opencode/src/config/config.ts b/packages/opencode/src/config/config.ts index 4be232350b..4d7c3b054d 100644 --- a/packages/opencode/src/config/config.ts +++ b/packages/opencode/src/config/config.ts @@ -34,6 +34,8 @@ import { Account } from "@/account" import { ConfigPaths } from "./paths" import { Filesystem } from "@/util/filesystem" import { Npm } from "@/npm" +import { BunProc } from "@/bun" +import { proxied } from "@/util/proxied" export namespace Config { const ModelId = z.string().meta({ $ref: "https://models.dev/model-schema.json#/$defs/Model" }) @@ -287,7 +289,14 @@ export namespace Config { // Install any additional dependencies defined in the package.json // This allows local plugins and custom tools to use external packages - await Npm.install(dir).catch((err) => { + await BunProc.run( + [ + "install", + // TODO: get rid of this case (see: https://github.com/oven-sh/bun/issues/19936) + ...(proxied() || process.env.CI ? ["--no-cache"] : []), + ], + { cwd: dir }, + ).catch((err) => { log.warn("failed to install dependencies", { dir, error: err }) }) }