Ответ 1
Текущая идея
Я думаю, вам нужно будет проверить Iron, измените Cargo.toml
, чтобы указать версии (как вы уже сделали). Затем вам нужно повторить процесс, проверив url
, изменив его Cargo.toml
, затем убедитесь, что вы используете свою версию url
в Iron Cargo.toml
. Промыть и повторить. Это звучит ужасно: - (
Первая идея
Как и раньше, скажем, вы работаете над проектом
uuid
, который зависит отrand
. На этот раз вы обнаружите ошибку вrand
, и вы хотите написать патч и проверить свой патч, используя свою версиюrand
вuuid
.Перемещение пути передается в Cargo через механизм конфигурации
.cargo/config
. Если Cargo обнаружит эту конфигурацию при создании вашего пакета, она будет использовать переопределение на вашей локальной машине вместо источника, указанного в вашемCargo.toml
.Внутри этого файла поместите это:
paths = ["/path/to/project/rand"]
Вторая идея
Примечание Это, вероятно, не сработает. То, что кто-то сказал мне, когда я впервые начал Rust, состоит в том, что вы можете иметь несколько версий одной и той же библиотеки, скомпилированных в один двоичный файл. Это означало бы, что нет ни одного места, где вы можете указать версию, которая применяется во всем, как вы могли бы с помощью Gemfile.
Возможно, вы сможете просто указать версии (или хэши SHA?) для каждой зависимости, которая, как вы знаете, работает с вашей версией Rust. Cargo должен иметь возможность разрешать переходные зависимости и просто блокировать вас до предыдущей версии (если таковая соответствует всем требованиям).