summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorDax Raad <[email protected]>2025-06-20 20:27:23 -0400
committerDax Raad <[email protected]>2025-06-20 20:27:23 -0400
commitda35a64fa125a3cae7d1d62fc2d5df1e67a9c37c (patch)
treef5fe99f0227f56e6507200c5d6c6cbaf04b4cc7a
parent460338ca5392eba2941fe328c37114a6f5ececac (diff)
downloadopencode-da35a64fa125a3cae7d1d62fc2d5df1e67a9c37c.tar.gz
opencode-da35a64fa125a3cae7d1d62fc2d5df1e67a9c37c.zip
handle brew upgrades better
-rw-r--r--packages/opencode/src/cli/cmd/upgrade.ts1
-rw-r--r--packages/opencode/src/installation/index.ts11
2 files changed, 11 insertions, 1 deletions
diff --git a/packages/opencode/src/cli/cmd/upgrade.ts b/packages/opencode/src/cli/cmd/upgrade.ts
index 9902810e9..ab65a3781 100644
--- a/packages/opencode/src/cli/cmd/upgrade.ts
+++ b/packages/opencode/src/cli/cmd/upgrade.ts
@@ -25,6 +25,7 @@ export const UpgradeCommand = {
prompts.outro("Done")
return
}
+ prompts.log.info("Installed via " + method)
const target = args.target ?? (await Installation.latest())
prompts.log.info(`From ${Installation.VERSION} → ${target}`)
const spinner = prompts.spinner()
diff --git a/packages/opencode/src/installation/index.ts b/packages/opencode/src/installation/index.ts
index bb2626eec..de7c20c18 100644
--- a/packages/opencode/src/installation/index.ts
+++ b/packages/opencode/src/installation/index.ts
@@ -66,6 +66,10 @@ export namespace Installation {
name: "bun" as const,
command: () => $`bun pm ls -g`.throws(false).text(),
},
+ {
+ name: "brew" as const,
+ command: () => $`brew list --formula opencode-ai`.throws(false).text(),
+ },
]
checks.sort((a, b) => {
@@ -97,13 +101,18 @@ export namespace Installation {
const cmd = (() => {
switch (method) {
case "curl":
- return $`curl -fsSL https://opencode.ai/install | bash`
+ return $`curl -fsSL https://opencode.ai/install | bash`.env({
+ VERSION: target,
+ ...process.env,
+ })
case "npm":
return $`npm install -g opencode-ai@${target}`
case "pnpm":
return $`pnpm install -g opencode-ai@${target}`
case "bun":
return $`bun install -g opencode-ai@${target}`
+ case "brew":
+ return $`brew install sst/tap/opencode`
default:
throw new Error(`Unknown method: ${method}`)
}