版本号 / 包与依赖

版本范围检查

先选生态,再输入该生态自己的约束、路径或依赖字段。

版本范围检查

输入

候选版本,每行一个

结果

输入内容后开始。

仅在此浏览器内处理,不查询包仓库。

选项

Composer:稳定数字版本、^、~、.*、比较符、AND/OR 和连字符区间。

最多 500 行候选版本、65,536 个输入字符;不查询仓库。

输入内容后开始。

复制了别的项目的版本表达式,却不确定它在当前包管理器里表示什么?版本范围检查先让你选 Composer 或 NuGet,再用自己提供的候选版本核对,不会把“命中”误报成“可安装”。

Composer 版本约束与 NuGet 版本范围分别解析。Go 模块路径会分开检查词法和可下载路径形式;Cargo.toml 依赖版本则用于生成单条声明,不会改写项目文件。

为什么做版本范围检查?

相似符号进入不同规则通道,结论才有上下文。

同样的数字,含义不同

版本范围检查会把 Composer 的数字约束和 NuGet 的区间分开处理。NuGet 的裸 1.0 表示下界,[1.0] 才是精确版本;不能直接照搬 npm 的判断。

四个生态的输入分别通向不同规则通道与报告,没有共用一个版本引擎

把路径与声明说清楚

Go 模式区分路径本身是否合法、首段是否适合下载。Cargo 模式给出可复制的 TOML 声明,并提醒裸版本允许兼容更新。

Go 路径分成词法和下载形式两项检查,旁边生成一条 Cargo 依赖声明

先避开三个容易误判的地方

01

输入前确定生态

切换模式会保留各自草稿。NuGet 的方括号区间不会被悄悄送给 Composer 解析,切回后仍能继续编辑。

02

看清裸版本的默认规则

NuGet 的 1.0 是至少 1.0;Cargo 的 1.0 允许兼容更新。需要 Cargo 精确版本时写 =1.0。

03

等待最新报告再导出

自动运行在停止输入 350 毫秒后开始。关闭后可按 Ctrl/Cmd+Enter;输入或参数改变时,旧结果立即禁止复制和下载。

四种输入,各有清楚的结果

Composer 数字约束

支持 ^、~、比较符、通配符、AND、OR 与部分版本连字符区间;逐行展示命中结果和无效候选。

NuGet 区间成员测试

分别判断开闭边界、空端点、预发布版本、裸版本下界与 [x] 精确约束。

Go 模块路径形状

检查 ASCII 路径段、Windows 保留名、可下载域名前缀和 /vN 主版本后缀,不发网络请求。

Cargo 单条依赖声明

从 crate 名称、版本要求、features 和 default-features 生成一行 TOML;片段和完整 JSON 报告可分别复制。

本地检查的边界

Composer 只测稳定数字版本
dev 分支、别名、@stability 和预发布候选会明确拒绝。完整安装判断还需要项目的 minimum-stability 与仓库版本。
NuGet 不执行还原
1.* 等浮动版本表达式会报不支持;逐项命中不等于 NuGet 实际 restore 的最终选版。
Go 不访问模块仓库
词法有效的本地模块路径未必具备可下载域名前缀。这里不查 DNS、代理或仓库,也不证明 go get 能成功。
Cargo 不重写整份配置
只生成常规 crates.io 依赖。git、path、workspace、目标平台、私有 registry 和整份 Cargo.toml 格式化都不在范围内。
批量输入有明确上限
最多 500 个非空候选版本,总输入 65,536 个字符;无效行带原始行号保留在报告中,不会静默丢弃。

版本范围检查常见问题

Composer 的 ^ 和 ~ 版本约束有什么区别?

Composer 的 ^1.2 允许 2.0 之前的兼容版本;~1.2 也到 2.0 之前,但 ~1.2.3 会在 1.3 前停止。此处版本范围检查只测试稳定数字版本,不模拟分支稳定性。

NuGet 的 [1.0,2.0) 版本范围包含 2.0 吗?

不包含。左方括号表示包含 1.0,右圆括号表示不包含上界 2.0。

Go Module 的 v2 为什么要加到导入路径?

Go 从 v2 起把主版本放进模块路径,例如 example.com/lib/v2,让不兼容的主版本有不同的导入路径。本页只检查路径形式。

Cargo.toml 中不写 ^ 的依赖版本是什么意思?

Cargo 的裸版本默认是 caret 兼容范围;0.1.12 通常允许小于 0.2 的兼容更新。要精确固定版本,应写 =0.1.12。

NuGet 的 1.0 是最低版本还是精确版本?

NuGet 的裸 1.0 是包含 1.0 的下界,可匹配更高版本;[1.0] 才要求精确匹配。

转换中遇到问题?

开始版本范围检查

回到版本范围检查面板,选好生态,核对报告中的原始行号和规则边界,再把结果用于项目。