opencode 2.x 的安装和使用
摘要
-
1.x 的安装和基本用法见 opencode的安装和使用。
-
本文写 OpenCode 2.x 的安装、从 1.x 升级,以及升级后配置和日常命令的写法。2.x 文档以英文为准。
1.x 的安装和基本用法见 opencode的安装和使用。
本文写 OpenCode 2.x 的安装、从 1.x 升级,以及升级后配置和日常命令的写法。2.x 文档以英文为准。
sources.conf 登记之后,用同样的 port install 安装。file://,放在带 [default] 的那一行前面,并加上 [nosync]。Portfile 放在 分类/名字/Portfile。改完在仓库根目录执行 portindex。color_echo 1.0.0 作例子。源码是 GitHub tag v1.0.0 的归档,命令文件在 bin/color_echo。安装和日常命令见 MacOS软件包管理器--MacPorts。没有 brew tap 这种命令,个人仓库是一份 Git 上的 ports 树,别人克隆后写进自己的 sources.conf。sources.conf 里的默认行是 ports.tar.gz,不是指南旧示例里的 ports.tar。brew install、brew upgrade 下载很慢或中途断开时,可以自己把同一个安装包下完,放到 Homebrew 这次要读的缓存文件上,再重新执行原来的命令。下面用本机升级 gh 2.102.0 作例子。Homebrew 7.0.8,缓存目录是 ~/Library/Caches/Homebrew。这次 GitHub 上的源码包下到一半就断了:curl: (18) Transferred a partial file。brew --cache --build-from-source gh 的输出为准,不能自己编哈希,也不能拷进 $(brew --cellar)/gh。gh 2.102.0 在当前 API 里没有 bottle,所以这次下的就是源码包 https://github.com/cli/cli/archive/refs/tags/v2.102.0.tar.gz,校验和是 08bf0ef8b4409893889175e0f5279d30d6edd96465816042c0d7c72eac598158。本机缓存文件名是 downloads/838ae966d01d820dbc2c41ab1f82d72064fe030ca19254fb2ff3aa993768b18d--cli-2.102.0.tar.gz。前半段是这条 URL 的 SHA-256,后半段来自下载响应里的文件名。brew upgrade gh 或 brew install gh。Homebrew 会接着做自己的校验和编译。缓存和 Cellar 的差别见 MacOS软件包管理器--brew。brew --cache --cask <token>,放进去的是这个 cask 的 url 指向的那个文件。本机 Firefox 是 dmg,codex 是 tar.gz,claude-code 没有后缀。例子在文末。15.8.1-x86_64。7.0.8 不再为 Intel Mac 提供 cmake 的 bottle,brew upgrade cmake 会从源码执行 ./bootstrap。cmake 4.4.4 停在 Cannot find a C++ compiler that supports both C++11。cmake 的软件包。直接升级或安装 cmake,以及任何要在本机编译 cmake 的 formula,都会停在同一处。这次是升级 wget 时把它作为依赖编出来的。/usr/bin/clang++ 是 Apple Clang 17.0.0,clang++ --version 正常,CC、CXX、CXXFLAGS 都没有设置。用一段 C++11 程序编译,报错是 fatal error: 'iostream' file not found。iostream 在各个 SDK 里都有,例如 /Library/Developer/CommandLineTools/SDKs/MacOSX26.2.sdk/usr/include/c++/v1/iostream。编译器实际搜索的是 /Library/Developer/CommandLineTools/usr/include/c++/v1。这条路径按编译器自己的位置计算:InstalledDir 是 CommandLineTools/usr/bin,libc++ 头文件放在它的上一级 usr/include/c++/v1。这个目录还在,里面没有 iostream。目录一旦存在,驱动就只用它,不再把 SDK 里的那份加入搜索路径。c++.backup 之后,同一段 C++11 程序可以编译并输出 123,再执行 brew upgrade cmake。git、wget、nginx。角色和 MacOS软件包管理器--brew 相同,默认目录是 /opt/local,可以和 Homebrew 装在同一台机器上。+ / - 选择。日常命令是 port,改动系统的操作要加 sudo。自己编写 Portfile 并在本机安装,见 MacPorts -- 创建自己的 Port。brew 装好的软件不会自动搬过来,要在 MacPorts 里重新装。15-Sequoia 的 pkg。brew 用 formula 从源码(或 bottle)安装软件,用 cask 安装已经打好的成品。成品常见是 .app / .pkg,也可以只是一个命令行二进制,不一定非要是 GUI。
本文介绍如何在 macos 下创建自己的 Cask,和 brew -- 创建自己的 Formula 是一对:那篇讲 Formula,这篇讲 Cask。
本文基于 MacOS 15.x,brew 版本为 Homebrew 7.0.4。
关于 brew 的安装及使用可以参考 MacOS软件包管理器--brew
--js);Python 只需把方法名改成 snake_case,见手册 §4.2JSON 类型:写入时自动校验、内部二进制存储,查询可用路径表达式与一组 JSON_* 函数-> / ->>)、增删改键、生成列索引、多值索引,以及常见坑util.importJson;官方文档:The JSON Data Type、JSON Functionsmysqlsh)是官方高级客户端:除 SQL 外,还支持 JavaScript / Python,并内置 AdminAPI、逻辑备份/恢复、升级检查等工具util.* 工具与命令行 API 集成mysql 客户端的对比见 1.1:多数场景只装 Shell 即可,保留 mysql 主要为了兼容旧脚本mysqlsh 可配合任意 MySQL 8.0 GA 及以上 使用;InnoDB Cluster 实操见 MySQL 8.4 InnoDB Cluster 的构建方法,升级检查场景见 MySql--从Mysql5.7升级到Mysql8mha_go,命令为 mha,systemd 服务常叫 mha-manager)的安装、配置、检查、在线切换与自动 failovermysql-8.4.11 LTS + mha-go v0.1.4,操作系统使用 Amazon Linux 2023(x86_64);包管理、路径以 AL2023 为准