A nice feature of cargo install <package>
is that will avoid building/installing if the latest published version is not newer than the currently installed version.
However, there are some crates that I install from source because they are not (yet) published. Unfortunately, but for pretty obvious reasons, cargo install --path .
will always rebuild and install. What means are there to avoid this, given that I track tagged versions (i.e. I can still use the version number change to determine whether a crate needs to be installed from source).
My immediate instinct is to parse the output of cargo install --list
and parse the crate's Cargo.toml
for the version and compare them -- but is there a better way to do this?