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?