this post was submitted on 04 Oct 2024
3 points (80.0% liked)

Rust

5829 readers
19 users here now

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

Wormhole

[email protected]

Credits

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

founded 1 year ago
MODERATORS
 

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?

top 4 comments
sorted by: hot top controversial new old
[–] [email protected] 1 points 12 minutes ago

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.

[–] [email protected] 5 points 1 hour ago

Cargo is heavily used.

Your tutorial is the odd one.

[–] [email protected] 4 points 4 hours ago

cargo install installs a rust binary to your user space.

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

[–] [email protected] 2 points 4 hours ago

Maybe I am wrong or my understanding is oversimplified. But the way I understand it is that when you add a dependency to your cargo.toml file, when you run the build rust is going to cargo and downloading those dependencies you added for you and stores the dependencies with project files.

Then when you rebuild it is checking cargo to see if there is a later version and will update according to how you specified the version in the cargo.toml file.

So you are using cargo. it’s basically just automated, so you don’t have to manually interact with cargo the same way you do with pip.