-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
Cache failing to resolve dependencies with name collision #2150
Comments
Projects aren't namespaced by owner. |
I'd argue that that's not how Carthage's "namespaces" are used though. And from my understanding this also breaks with forks. Let's say you have two independent projects ( Let's further say Project This is totally fine from an isolated point of view, but breaks Carthage if you're doing development for both on the same machine. 💥 |
But if both create That all sounds like correct, desirable behavior to me. |
Projects Let's say you're consultant/freelancer or working in an agency and at one time happen to work for two companies: for company |
Ohhhh… I misunderstood your issue. This is specifically about Carthage's shared cache for 2 dependencies with the same name in completely separate projects. That's something we should fix. |
Yes, exactly. 🙂 Sorry if I didn't make myself clear enough. 🙈 |
Having lots of issues with this on our CI server, when devs are using forks of the same dependences. Carthage doesnt seem to change the remote in the cache once it exists. |
I wonder if this isn't the source of a problem I noticed last week. Internally, we have several frameworks that an app depends upon. I needed to make changes to one of them for a bug fix, but in order to test the fix, I had to temporarily point the app's In this case, because of the matching name, Carthage didn't check "upstream" from its cache, even though it was out of date. |
@sjmadsen That is the same issue i am having |
Anyone got any good work arounds for this? Dont really want to kill the cache before every build on CI, but its not great when you randomly get fails because of the wrong cache,... |
Carthage keeps a cache of fetched dependencies in
~/Library/Caches/org.carthage.CarthageKit/dependencies/…
.Assuming you have a project with this in its
Cartfile
:And another project with this:
Then due to not using any further subdirectories for
antitypical
orsomebody
carthage ends up fetching the wrong dependency from the local cache for the second project being bootstrapped.This pretty much defeats the whole point of supporting namespacing in the first place. 😢
The text was updated successfully, but these errors were encountered: