I really like the idea of a package/dependency manager. It just seems that when ever I am reading a tutorial and they want to import something that is not standard they say write this in to your TOMOL not cargo install it. Like when reading python docs they all say to use pip or something. Sorry it just seems that Cargo is somewhat overlooked or is it just my perception?

18 points

cargo install installs a rust binary to your user space.

cargo add adds the dep to your project by editing your Cargo.toml.

permalink
report
reply
16 points

The file is named Cargo.toml. Whatever dependencies you add to there are automatically downloaded by Cargo. You can manage them with cargo add and cargo remove.

cargo install is not the same thing. That installs binaries. I last installed cargo-release to automate the annoying part of managing git tags and crate version number.

permalink
report
reply
12 points

Cargo is heavily used.

Your tutorial is the odd one.

permalink
report
reply
11 points

cargo add <dep> is a relatively new command. For a long time you had to edit the Cargo.toml file to add a new dependency. So a lot of tutorials still use that as a way of adding a dependency. And other guides often copy from the older ones. They also can describe it this way as a way to introduce the Cargo.toml structure since it is not hard to hand edit. cargo add is just a convenience after all and it is still worth understanding the Cargo.toml structure.

But yes, many people do use cargo add for simply adding deps rather than editing the toml file. Though it is not uncommon to edit it by hand either.

permalink
report
reply
1 point

Makes sense.

permalink
report
parent
reply
8 points
  • cargo install is for installing rust programs for your user, not for adding dependencies to your Rust project. Many cargo subcommands can be installed this way, for instance cargo bloat.
  • The file you are talking about is called Cargo.toml, because it is the file you need to write in order to configure cargo for your Rust project. TOML is the name of the file format. For details, please see the introductory chapter to Cargo in the Rust book.
  • Cargo recently got a new subcommand called cargo add, which allows to add dependencies directly on the command line. However, all it does is to add/edit/remove the respective lines in Cargo.toml. (Personal opinion: I have found it way easier to just edit the file directly than to learn yet another command…)

That said: You still need to edit the Cargo.toml file, even if you solely use cargo add to manage your dependencies. That’s because that file contains a lot more information about your project than just the dependencies. For instance the current version, the feature-flags, your name, a link to the public repo,…

permalink
report
reply

Rust

!rust@programming.dev

Create post

Welcome to the Rust community! This is a place to discuss about the Rust programming language.

Wormhole

!performance@programming.dev

Credits
  • The icon is a modified version of the official rust logo (changing the colors to a gradient and black background)

Community stats

  • 606

    Monthly active users

  • 280

    Posts

  • 1.2K

    Comments