пакет XXX ссылается на собственную библиотеку YYY, но он конфликтует с предыдущим пакетом, который также ссылается на YYY: пакет ZZZ - PullRequest
0 голосов
/ 24 апреля 2019

У меня есть проект, зависящий от 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
...