-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Possible dependency version issue #289
Comments
Yeah I think you are right & I'm sorry this is broken for you right now. The lockfile should not matter for consumers, but it certainly is an issue that I do specify the exact version for each dependency. I think changing that to a allowed version range should fix this, but I have to verify that this is actually true. So thanks for the detailed informations - they should help me a lot while testing this! |
@sebhoss no worries. I was able to keep moving forward just by generating it myself using kopium. So I'm not blocked or anything. |
@w3irdrobot yeah sorry I was traveling and got sick and then lots of work to do 😓 So my understanding is that the fundamental issue here is that both Therefore, I do not think that I can really do anything here. I've changed the versions in #294 to use tildes to clarify that I want to support version ranges here, but this does not help in your situation in my local tests. The only solution I could find was to hard select the version of You can try the latest version of this crate tomorrow which uses the tilde versions, but I'm fairly certain that it will still fail with the same build error as long as you are using an older version of |
I'm running into the same issue with respect to the |
I'm about to give using |
I think this is happening because the lock file of this repo is not considered in your repo. The FAQ at https://doc.rust-lang.org/cargo/faq.html#why-have-cargolock-in-version-control says: I specified in this repo that it's compatible with every 0.x version of k8s-openapi but I think that's not strictly correct because 0.x versions are allowed to introduce breaking changes whenever they want. Image that k8s-openapi would have published a 1.0 and a 2.0 version - if my repo uses 2.0 but your repo uses 1.0 no one would expect this to work, right? However since they are still using a 0.x version they can break between 0.86 and 0.87 (or whatever the version was that broke this) and it still kinda looks like it should work. So what I'm going to do is to remove the lock file from this repo entirely. I'm pretty sure that this won't change anything, but at least I did something? 🤷 I have really no idea other than waiting on the upstream libraries to stabilize on a major version. |
Yep thanks thanks ... I'm kinda busy with other stuff at the moment but I'm aware of that and will try to fix it in the next couple of days. |
err .. so lockfile is removed and the build seems to be fixed. I just add https://blog.rust-lang.org/2023/08/29/committing-lockfiles.html here just for reference |
Cool, thanks for your quick response! For what it's worth, I did try |
I pulled in this library to use the
VolumeSnapshot
CRD. When trying to use it with anApi
, I got compiler errors saying it didn't implement the requiredMetadata
trait. I eventually took a guess that it could be an issue with the version ofkube
/k8s-openapi
that I was using colliding with the version expected by this library. So, I rankopium
against the CRD YAML to have the generated file locally instead, and I no longer have the compiler error about theMetadata
trait.Relevant code snippet:
I'm just guessing, but my understanding is that
Cargo.lock
files typically aren't suggested to be shipped with libraries. I noticed there is one in the root of the project for the whole workspace. I do not know, however, ifcargo publish
will ship a workspace'sCargo.lock
with the individual crates as they are published.Versions:
kube
- 0.87.0k8s-openapi
- 0.20kube-custom-resources-rs
- 2024.6.1kopium
- 0.20.1The text was updated successfully, but these errors were encountered: