mirror of https://github.com/astral-sh/uv
Improve error messages for `uv remove` (#9959)
Closes https://github.com/astral-sh/uv/issues/9958
This commit is contained in:
parent
686f383fa4
commit
2288905d46
|
|
@ -112,7 +112,7 @@ pub(crate) async fn remove(
|
||||||
if deps.is_empty() {
|
if deps.is_empty() {
|
||||||
warn_if_present(&package, &toml);
|
warn_if_present(&package, &toml);
|
||||||
anyhow::bail!(
|
anyhow::bail!(
|
||||||
"The dependency `{package}` could not be found in `dependencies`"
|
"The dependency `{package}` could not be found in `project.dependencies`"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -123,7 +123,7 @@ pub(crate) async fn remove(
|
||||||
if dev_deps.is_empty() && group_deps.is_empty() {
|
if dev_deps.is_empty() && group_deps.is_empty() {
|
||||||
warn_if_present(&package, &toml);
|
warn_if_present(&package, &toml);
|
||||||
anyhow::bail!(
|
anyhow::bail!(
|
||||||
"The dependency `{package}` could not be found in `dev-dependencies` or `dependency-groups.dev`"
|
"The dependency `{package}` could not be found in `tool.uv.dev-dependencies` or `tool.uv.dependency-groups.dev`"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -132,7 +132,7 @@ pub(crate) async fn remove(
|
||||||
if deps.is_empty() {
|
if deps.is_empty() {
|
||||||
warn_if_present(&package, &toml);
|
warn_if_present(&package, &toml);
|
||||||
anyhow::bail!(
|
anyhow::bail!(
|
||||||
"The dependency `{package}` could not be found in `optional-dependencies`"
|
"The dependency `{package}` could not be found in `project.optional-dependencies.{extra}`"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -144,7 +144,7 @@ pub(crate) async fn remove(
|
||||||
if dev_deps.is_empty() && group_deps.is_empty() {
|
if dev_deps.is_empty() && group_deps.is_empty() {
|
||||||
warn_if_present(&package, &toml);
|
warn_if_present(&package, &toml);
|
||||||
anyhow::bail!(
|
anyhow::bail!(
|
||||||
"The dependency `{package}` could not be found in `dev-dependencies` or `dependency-groups.dev`"
|
"The dependency `{package}` could not be found in `tool.uv.dev-dependencies` or `tool.uv.dependency-groups.dev`"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -152,7 +152,7 @@ pub(crate) async fn remove(
|
||||||
if deps.is_empty() {
|
if deps.is_empty() {
|
||||||
warn_if_present(&package, &toml);
|
warn_if_present(&package, &toml);
|
||||||
anyhow::bail!(
|
anyhow::bail!(
|
||||||
"The dependency `{package}` could not be found in `dependency-groups`"
|
"The dependency `{package}` could not be found in `dependency-groups.{group}`"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -323,16 +323,21 @@ fn warn_if_present(name: &PackageName, pyproject: &PyProjectTomlMut) {
|
||||||
warn_user!("`{name}` is a production dependency");
|
warn_user!("`{name}` is a production dependency");
|
||||||
}
|
}
|
||||||
DependencyType::Dev => {
|
DependencyType::Dev => {
|
||||||
warn_user!("`{name}` is a development dependency; try calling `uv remove --dev`");
|
warn_user!(
|
||||||
|
"`{name}` is a development dependency (try: `{}`)",
|
||||||
|
format!("uv remove {name} --dev`").bold()
|
||||||
|
);
|
||||||
}
|
}
|
||||||
DependencyType::Optional(group) => {
|
DependencyType::Optional(group) => {
|
||||||
warn_user!(
|
warn_user!(
|
||||||
"`{name}` is an optional dependency; try calling `uv remove --optional {group}`",
|
"`{name}` is an optional dependency (try: `{}`)",
|
||||||
|
format!("uv remove {name} --optional {group}").bold()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
DependencyType::Group(group) => {
|
DependencyType::Group(group) => {
|
||||||
warn_user!(
|
warn_user!(
|
||||||
"`{name}` is in the `{group}` group; try calling `uv remove --group {group}`",
|
"`{name}` is in the `{group}` group (try: `{}`)",
|
||||||
|
format!("uv remove {name} --group {group}").bold()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1113,8 +1113,8 @@ fn add_remove_dev() -> Result<()> {
|
||||||
----- stdout -----
|
----- stdout -----
|
||||||
|
|
||||||
----- stderr -----
|
----- stderr -----
|
||||||
warning: `anyio` is in the `dev` group; try calling `uv remove --group dev`
|
warning: `anyio` is in the `dev` group (try: `uv remove anyio --group dev`)
|
||||||
error: The dependency `anyio` could not be found in `dependencies`
|
error: The dependency `anyio` could not be found in `project.dependencies`
|
||||||
"###);
|
"###);
|
||||||
|
|
||||||
// Remove the dependency.
|
// Remove the dependency.
|
||||||
|
|
@ -1336,8 +1336,8 @@ fn add_remove_optional() -> Result<()> {
|
||||||
----- stdout -----
|
----- stdout -----
|
||||||
|
|
||||||
----- stderr -----
|
----- stderr -----
|
||||||
warning: `anyio` is an optional dependency; try calling `uv remove --optional io`
|
warning: `anyio` is an optional dependency (try: `uv remove anyio --optional io`)
|
||||||
error: The dependency `anyio` could not be found in `dependencies`
|
error: The dependency `anyio` could not be found in `project.dependencies`
|
||||||
"###);
|
"###);
|
||||||
|
|
||||||
// Remove the dependency.
|
// Remove the dependency.
|
||||||
|
|
@ -4817,7 +4817,7 @@ fn remove_group() -> Result<()> {
|
||||||
----- stdout -----
|
----- stdout -----
|
||||||
|
|
||||||
----- stderr -----
|
----- stderr -----
|
||||||
error: The dependency `anyio` could not be found in `dependency-groups`
|
error: The dependency `anyio` could not be found in `dependency-groups.test`
|
||||||
"###);
|
"###);
|
||||||
|
|
||||||
let pyproject_toml = context.read("pyproject.toml");
|
let pyproject_toml = context.read("pyproject.toml");
|
||||||
|
|
@ -4845,7 +4845,7 @@ fn remove_group() -> Result<()> {
|
||||||
----- stdout -----
|
----- stdout -----
|
||||||
|
|
||||||
----- stderr -----
|
----- stderr -----
|
||||||
error: The dependency `anyio` could not be found in `dependency-groups`
|
error: The dependency `anyio` could not be found in `dependency-groups.test`
|
||||||
"###);
|
"###);
|
||||||
|
|
||||||
let pyproject_toml = context.temp_dir.child("pyproject.toml");
|
let pyproject_toml = context.temp_dir.child("pyproject.toml");
|
||||||
|
|
@ -4864,7 +4864,7 @@ fn remove_group() -> Result<()> {
|
||||||
|
|
||||||
----- stderr -----
|
----- stderr -----
|
||||||
warning: `anyio` is a production dependency
|
warning: `anyio` is a production dependency
|
||||||
error: The dependency `anyio` could not be found in `dependency-groups`
|
error: The dependency `anyio` could not be found in `dependency-groups.test`
|
||||||
"###);
|
"###);
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue