错误代码
每个错误都有固定的代码、消息和解决方法。代码永远不会被翻译。
E_INTERNAL
HTTP 500 · exit 1
GenPM 内部出错了。
解决方法: 使用 --verbose 重试;如果问题仍然存在,请附上 requestId 报告。
E_BAD_REQUEST
HTTP 400 · exit 2
请求无效:…
解决方法: 请检查参数后重试。
E_USAGE
HTTP 400 · exit 2
用法无效:…
解决方法: 运行 genpm --help 查看可用选项。
E_CONFIRM_REQUIRED
HTTP 400 · exit 2
需要确认:…
解决方法: 请在交互式终端中运行,或传入 … 进行确认。
E_PAYLOAD_TOO_LARGE
HTTP 413 · exit 2
请求体过大。
解决方法: 最多发送 16 KB。
E_NOT_FOUND
HTTP 404 · exit 3
未找到 …。
解决方法: 请检查拼写,或使用 genpm search <关键词> 搜索。
E_NO_MATCHING_VERSION
HTTP 404 · exit 3
… 没有匹配 … 的版本。
解决方法: 运行 genpm info … 查看已发布的版本。
E_DEST_CONFLICT
HTTP 409 · exit 4
… 已存在且不为空。
解决方法: 使用 --dest
E_RANGE_UNSATISFIED
HTTP 409 · exit 4
没有版本能满足所有范围:…
解决方法: 请先安装冲突包的兼容版本,或固定为其他版本。
E_ALREADY_INSTALLED
HTTP 409 · exit 4
… … 已安装。
解决方法: 无需操作。使用 genpm list 查看已安装的包。
E_VERSION_EXISTS
HTTP 409 · exit 4
…@… 已发布。
解决方法: 版本不可变:请在 genpm.json 中提升版本号并创建新标签。
E_DRIFT
HTTP 409 · exit 4
… 在 …中有本地修改。
解决方法: 使用 --keep-code 保留你的代码,或使用 --force 强制删除。
E_REQUIRED_BY
HTTP 409 · exit 4
… 依赖 …。
解决方法: 请先移除依赖它的包。
E_BUSY
HTTP 409 · exit 4
另一个 GenPM 进程正在修改此项目。
解决方法: 请等待其完成。如果没有进程在运行,请删除 .genpm/.lock。
E_PLAN_STALE
HTTP 409 · exit 4
自计划生成以来项目已发生变化。
解决方法: 请重新生成计划(试运行)并确认。
E_NETWORK
HTTP 502 · exit 5
无法连接到 …。
解决方法: 请检查网络连接、代理或 GENPM_REGISTRY 后重试。
E_UPSTREAM_GIT
HTTP 502 · exit 5
Git 主机出错:…
解决方法: 请确认使用你的 Git 凭据可以访问该仓库,然后重试。
E_RATE_LIMITED
HTTP 429 · exit 5
请求过多。
解决方法: 请等待 …后重试。
E_READ_ONLY
HTTP 503 · exit 5
注册表正在维护,处于只读模式。
解决方法: 安装仍可正常使用。请稍后再发布;最新状态见 genpm.net。
E_INTEGRITY
HTTP 422 · exit 6
… 完整性校验失败:…
解决方法: 请勿使用此包。如果问题持续,请通过 genpm.net/report 报告。
E_SIGNATURE
HTTP 422 · exit 6
… 的注册表签名无效。
解决方法: 请勿安装。请更新 GenPM(新的签名密钥),如果问题持续请报告。
E_PATH_UNSAFE
HTTP 422 · exit 6
不安全的路径 …(…)。
解决方法: 请使用项目内的相对路径,不得包含 ..、绝对路径或保留目录。
E_AUTORUN_FILE
HTTP 422 · exit 6
… 包含会自动运行的文件:…。
解决方法: 这些文件永远不会被安装。请让作者删除它们,或仅对已验证的发布者使用 --allow-autorun。
E_SCAN_FAILED
HTTP 422 · exit 6
安全扫描拒绝了 …:…
解决方法: 请修复 genpm validate 列出的问题,然后发布新版本。
E_INSECURE_PERMS
HTTP 400 · exit 6
… 可被其他用户读取。
解决方法: 运行 chmod 600 …。
E_QUARANTINED
HTTP 451 · exit 6
… 正在接受安全审核。
解决方法: 请稍后再试或选择其他包。审核在 24 个工作小时内完成。
E_REF_MUTABLE
HTTP 422 · exit 6
… 不是不可变引用。
解决方法: 请使用 Git 标签或完整的 40 位提交 SHA,不要使用分支。
E_ADVISORY
HTTP 409 · exit 6
… … 存在严重程度为 … 的安全公告。
解决方法: 请升级到 … 或更高版本。
E_TOO_LARGE
HTTP 422 · exit 6
… 超出大小限制:…
解决方法: 使用 .genpmignore 排除文件;如果包是正当的,可用 --max-size 提高限制。
E_MANIFEST_INVALID
HTTP 422 · exit 6
genpm.json 无效。
解决方法: 请修正详情中列出的字段。运行 genpm validate 获取完整报告。
E_LOCK_INVALID
HTTP 422 · exit 6
genpm.lock 无效或已损坏。
解决方法: 请从 Git 恢复;切勿手动编辑 genpm.lock。
E_NAME_MISMATCH
HTTP 422 · exit 6
清单名称 … 与 … 不一致。
解决方法: 请使用 genpm.json 中声明的名称发布。
E_REF_NOT_FOUND
HTTP 422 · exit 3
… 中不存在 …。
解决方法: 创建并推送标签:git tag … && git push --tags。
E_REF_NOT_PUSHED
HTTP 422 · exit 4
… 不在远程仓库中,或指向了另一个提交。
解决方法: 使用 git push origin … 推送标签。
E_REPO_NOT_ALLOWED
HTTP 422 · exit 7
… 不属于作用域 @…。
解决方法: 请从与该作用域关联的 GitHub 所有者的仓库发布。
E_REPO_CHANGED
HTTP 422 · exit 6
… 背后的仓库已变更(可能是仓库劫持)。
解决方法: 请发邮件至 hello@genpm.net,主题为 [SECURITY],以转移该包。
E_CONTEXT_MISSING
HTTP 422 · exit 6
AI 规则文件 … 不存在。
解决方法: 创建 …(genpm init 可生成模板),或在 genpm.json 中设置 x。
E_CONTEXT_TOO_LARGE
HTTP 422 · exit 6
AI 规则文件 … 超过 16 KB。
解决方法: 请精简:让规则聚焦于目的、结构、集成、约定和禁止事项。
E_AUTH
HTTP 401 · exit 7
你尚未登录,或令牌无效、已过期。
解决方法: 运行 genpm login(在 CI 中设置 GENPM_TOKEN)。
E_FORBIDDEN_SCOPE
HTTP 403 · exit 7
你无法发布到 @…。
解决方法: 请向 @… 的所有者申请发布权限,或使用你自己的作用域。
E_GIT_MISSING
HTTP 500 · exit 8
未安装 Git,或版本低于 2.25。
解决方法: 请安装 Git 2.25 或更高版本后重试。
E_NODE_VERSION
HTTP 500 · exit 8
GenPM 需要 Node.js 20.11 或更高版本(当前为 …)。
解决方法: 请更新 Node.js,或安装无需 Node.js 的独立 genpm 二进制文件:genpm.net/docs/install
E_UPGRADE_UNSUPPORTED
HTTP 400 · exit 8
此 GenPM 副本是通过 … 安装的:genpm upgrade 只能更新独立二进制文件。
解决方法: 请使用 … 更新,或从 genpm.net/docs/install 安装二进制文件。
E_UPGRADE_PERMISSION
HTTP 500 · exit 8
无法替换 …:权限被拒绝。
解决方法: 请以该文件所有者的身份运行 genpm upgrade,或使用 genpm.net/docs/install 中的脚本重新安装。
E_UPGRADE_INTEGRITY
HTTP 422 · exit 6
下载的 … 与其发布的 SHA-256 校验和不一致。
解决方法: 未做任何更改。请稍后重试;如果再次发生,请发送邮件至 hello@genpm.net,主题为 [SECURITY]。
E_MCP_SERVE_UNAVAILABLE
HTTP 500 · exit 8
genpm mcp serve 仅包含在独立的 genpm 二进制文件中。
解决方法: 请使用 npx -y @genpm/mcp 作为 MCP 命令(genpm mcp setup 会自动配置),或从 genpm.net/docs/install 安装二进制文件。
E_NOT_A_PROJECT
HTTP 400 · exit 8
在 … 中未找到项目。
解决方法: 请在项目内(包含 package.json 或 .git)运行该命令,或传入 --cwd