-
Notifications
You must be signed in to change notification settings - Fork 2.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Do not deprecate cargo install from current directory #6538
Comments
Forwarding @matklad's TL;DR in #5333 (comment):
I guess you're presenting here that installing local crates isn't such an extremely niche use-case. Labeled the issue in case we need to discuss it at the next weekly team call meeting (Wednesdays). |
Note that |
|
So I just ran into this while porting a
At present I think this is purely an ergonomics issue, and good arguments could be made either way (preventing misuse vs easier CLI interface). |
We discussed this in today's Cargo team meeting. While we understand the motivation for wanting to keep the old behaviour of |
Previous: #5327
The decision was
cargo install
from current directory is deprecated and will be removed soon.I find this hard to accept as a new user to Rust. Since Rust is branded as the next big system programming language I would expect it to respect systems conventions, i.e. the deployment holy trinity:
in which
make install
installs built binaries to appropriate locations so the user can run the binaries without adding./
prefixes. Now, since Rust has batteries included we can skip./configure
and reasonably expect abuild
argument in place ofmake
, but why break the expectation ofmake install
?For a command so central to daily workflows,
cargo install --path .
makes it suboptimal by allowing a space of ambiguities: is itcargo install .
,cargo install --local
,cargo install --path=.
,cargo install --^H^HI still have to check --help
?For the node crowd they can always do
cargo uninstall
ifcargo install
is not what they expect, but if I have to look up the documentation just for the equivalent ofmake install
something is wrong here.The text was updated successfully, but these errors were encountered: