Skip to content

Commit 9ae361a

Browse files
committed
add: Added error message for when v is prefixed with version
1 parent ac86dea commit 9ae361a

File tree

2 files changed

+19
-7
lines changed

2 files changed

+19
-7
lines changed

src/cargo/ops/cargo_add/crate_spec.rs

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,16 @@ impl CrateSpec {
4747
package_name?;
4848

4949
if let Some(version) = version {
50-
semver::VersionReq::parse(version)
51-
.with_context(|| format!("invalid version requirement `{version}`"))?;
50+
semver::VersionReq::parse(version).with_context(|| {
51+
if let Some(stripped) = version.strip_prefix("v") {
52+
return format!(
53+
"the version provided, `{version}` is not a \
54+
valid SemVer requirement\n\n\
55+
help: changing the package to `{name}@{stripped}`",
56+
);
57+
}
58+
format!("invalid version requirement `{version}`")
59+
})?;
5260
}
5361

5462
let id = Self {

tests/testsuite/cargo_add/prefixed_v_in_version/stderr.term.svg

Lines changed: 9 additions & 5 deletions
Loading

0 commit comments

Comments
 (0)