Cargo : why there are multi version of dependency lib?

Every time I changed the Cargo.toml , cargo will build new version of dependency lib. For example , this is a list of libquote

561,454 libquote-082a9038c0167971.rlib
250,996 libquote-082a9038c0167971.rmeta
526,214 libquote-6d4302204bc43d15.rlib
247,751 libquote-6d4302204bc43d15.rmeta

they have slightly different size, what does this mean? ( I have checked the output of cargo tree, all dependency of quote is the same version ). Can I have just a single copy? Many thanks!!!

That hash is computed from all aspects of the library and the build environment, such as lib version, rust version, optimization flags, feature flags, library dependencies. Every time you change anything about your build environment that may affect this library, the hash will change.