Skip to content

Commit

Permalink
Auto merge of #11410 - TrAyZeN:master, r=epage
Browse files Browse the repository at this point in the history
Suggest cargo add when installing library crate

### What does this PR try to resolve?

When using `cargo install` instead of `cargo use` the error message is the following:
```
error: there is nothing to install in `foo v0.0.1`, because it has no binaries
`cargo install` is only for installing programs, and can't be used with libraries.
To use a library crate, add it as a dependency in a Cargo project instead.
```
It would be good to suggest to the user to use `cargo add`.

### How should we test and review this PR?

The `no_binaries` test from `tests/testsuite/install.rs` covers that case.
  • Loading branch information
bors committed Feb 23, 2023
2 parents c65a4d1 + 98edd70 commit 0625b29
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 3 deletions.
4 changes: 2 additions & 2 deletions src/cargo/ops/cargo_install.rs
Original file line number Diff line number Diff line change
Expand Up @@ -217,8 +217,8 @@ impl<'cfg, 'a> InstallablePackage<'cfg, 'a> {
bail!(
"there is nothing to install in `{}`, because it has no binaries\n\
`cargo install` is only for installing programs, and can't be used with libraries.\n\
To use a library crate, add it as a dependency in a Cargo project instead.",
pkg
To use a library crate, add it as a dependency to a Cargo project with `cargo add`.",
pkg,
);
}

Expand Down
2 changes: 1 addition & 1 deletion tests/testsuite/install.rs
Original file line number Diff line number Diff line change
Expand Up @@ -728,7 +728,7 @@ fn no_binaries() {
"\
[ERROR] there is nothing to install in `foo v0.0.1 ([..])`, because it has no binaries[..]
[..]
[..]",
To use a library crate, add it as a dependency to a Cargo project with `cargo add`.",
)
.run();
}
Expand Down

0 comments on commit 0625b29

Please sign in to comment.