3 ms·
Cargo is still a dev tool and isn't a great distribution solution.
by andygeorge 3y ago
Cargo is still a dev tool and isn't a great distribution solution.
- bluejekyll 3y agoI disagree. Cargo is a great distribution tool, for Rust projects. I just tell people, first install rust, then just `cargo install` Second, this was in response to an npm is simpler comment; npm and cargo are absolutely the same category of tool.
- satvikpendem 3y agoI actually recommend cargo install cargo-binstall first, then cargo install <crate>. This is because it is quite annoying to compile packages every time you want to install something new whereas binstall distributes binaries instead, much faster.
- bluejekyll 3y agoFeels like we need a single command for that, I have two goals for my workflow (like maybe bininstall should be included in Cargo): 1) what’s the easiest way to give people access to a tool I just wrote, `cargo publish` 2) what’s the easiest way for someone to use it, as few steps as possible, right now it’s `install rust` && `cargo install`. Once I get to three or more steps on 2 I tend to turn to just or make depending on the context.
- shzhdbi09gv8ioi 3y agoYou should combine step 1 and 2 in CI. Just tag a version in your git, push to remote and have CI auto build a release for you. Use github actions or other setup for other backends. (this is language agnostic and a reasonable thing to learn as a dev). Or if you must live in the cargo command, go nuts with cargo-release. https://github.com/crate-ci/cargo-release https://github.com/crate-ci/cargo-release https://github.com/cargo-bins/release-pr https://github.com/cargo-bins/release-pr
- andygeorge 3y ago> I just tell people, first install rust, then just `cargo install` local compilation may work for you and other individuals, but "just cargo install" can immediately run into issues if you're trying to deploy something to things that aren't dev workstations > npm and cargo are absolutely the same category of tool as a dev tool? absolutely. as a production distribution solution? definitely not
- arp242 3y agoThe overlap between people who want to run something like ESLint and people with dev workstations is very close to 100%.
- bluejekyll 3y ago> as a production distribution solution? definitely not If you’re talking about distributing Rust projects, sure it’s fine. Generally though, if you’re orchestrating a bunch of other things outside the rust software itself, I’d turn to just. npm is still mainly used in JavaScript and Typescript scenarios, so I think you’re kinda splitting hairs if you’re suggesting it’s a general purpose tool.
- andygeorge 3y agothere's a reason `cargo install` is usually the last distribution option that maintainers of rust software provide ¯\_(ツ)_/¯