У меня есть проект, зависящий от xxx (xxx имеет ссылки на нативную библиотеку c 'a'), и я хочу представить новую зависимость yyy, которая также имеет ссылки на 'a' (в другой версии библиотеки). когда я запускаю «Cargo Update», он обнаружил ошибку и не зарегистрировал «не удалось выбрать версию для xxx
.... пакет xxx
ссылается на собственную библиотеку a
, но конфликтует с предыдущим пакетом, который ссылается на a
также:
пакет yyy
'
Я прочитал какой-то документ, и кажется практичным сделать ссылки глобальными, добавив некоторый код в cargo.toml и build.rs, но я не уверен, как это сделать, и могут ли две разные зависимости иметь одинаковые ссылки?
error: failed to select a version for `parity-rocksdb-sys`.
... required by package `parity-rocksdb v0.5.0`
... which is depended on by `kvdb-rocksdb v0.1.4`
... which is depended on by `storage v0.0.1 (/Users/chenrui/Desktop/blockchain/WendingWorkStation/ipfs/filesys-rust/runtime/storage)`
... which is depended on by `beacon v0.0.1 (/Users/chenrui/Desktop/blockchain/WendingWorkStation/ipfs/filesys-rust/chain/beacon)`
... which is depended on by `client v0.1.0 (/Users/chenrui/Desktop/blockchain/WendingWorkStation/ipfs/filesys-rust/chain/client)`
... which is depended on by `alphanet v0.1.0 (/Users/chenrui/Desktop/blockchain/WendingWorkStation/ipfs/filesys-rust/chain/alphanet)`
... which is depended on by `devnet v0.1.0 (/Users/chenrui/Desktop/blockchain/WendingWorkStation/ipfs/filesys-rust/chain/devnet)`
... which is depended on by `filesys v0.1.0 (/Users/chenrui/Desktop/blockchain/WendingWorkStation/ipfs/filesys-rust)`
versions that meet the requirements `^0.5` are: 0.5.5, 0.5.4, 0.5.3, 0.5.2, 0.5.1, 0.5.0
the package `parity-rocksdb-sys` links to the native library `rocksdb`, but it conflicts with a previous package which links to `rocksdb` as well:
package `librocksdb-sys v5.17.2`
... which is depended on by `rocksdb v0.12.0`
... which is depended on by `filecoin-proofs v0.1.0 (https://github.com/idotial/rust-fil-proofs.git#53676171)`
... which is depended on by `filesys v0.1.0 (/Users/chenrui/Desktop/blockchain/WendingWorkStation/ipfs/filesys-rust)`
failed to select a version for `parity-rocksdb-sys` which could resolve this conflict
fix this error, and finish cargo update