用途:指导升级 apify、apify-client、crawlee 三个包,重点处理 Apify 历史上最大的迁移——SDK v2 到 v3(爬取功能拆分为 crawlee 包),并给出通用升级与回滚流程。
主要能力:检查当前与最新版本;创建升级分支;安装指定或最新版本;用 Grep/Read/Edit 应用大量重命名改动;运行升级后验证脚本;在失败时按回滚流程恢复版本。
使用方式:先确认工作树可恢复(专用 git 分支、可运行的 npm test 与 npm run build、记录当前版本 npm list apify apify-client crawlee、如需 API 连接检查则设置 APIFY_TOKEN)。随后执行 npm list、npm view、npm outdated 查看版本,git checkout -b upgrade/apify-packages 建分支,npm install apify@latest crawlee@latest apify-client@latest 升级,npm test 与 npm run build 验证,再运行 verify-and-rollback.md 中的脚本。v2→v3 需转换代码,如 import { Actor } from 'apify' 与 import { CheerioCrawler } from 'crawlee',把 handlePageFunction 改为 requestHandler,apify-client 构造去掉 userId。
适用场景:跨 SDK 版本迁移、处理破坏性变更、升级包版本。
限制:需在可回滚分支操作,peer 依赖冲突需对齐主版本(如 apify@3 与 crawlee@3);资料未提供具体价格、收费或平台信息。