Closed scotts-navinet closed 7 years ago
Thanks for reporting this and identifying the code line that needs to be fixed @scotts-navinet. We'll soon commit this fix.
@scotts-navinet, we committed the fix. Before we release it, can you please install bower-art-resolver with the fix from this github repo, and confirm that it resolves the issue for you?
This fix resolves the problem. Thanks
When could we expect an official release including this fix? Thanks
@scotts-navinet, we will publish a new release in a few days (before the end of the week).
@scotts-navinet, bower-art-resolver 2.0.7 has been released.
@eyalbe4, Thanks for the fix. I've been having crazy build failures over the past few months because of this. I ended up making every build clear the cache before running. This patch fixed the problem for me.
In Artifactory you have bower package named 'component' with versions '1.0.0' and '1.0.1'
Say your bower.json contains a dependency to component@1.0.0 (an exact version).
You perform bower install, and how have component@1.0.0 in the bower cache.
You now change the dependency to component@^1.0.0 (a caret range).
Delete bower_components and perform another bower install. This should have downloaded component@1.0.1, but instead if simply uses the cached version @1.0.0. This is not the same behavior with the standard Git resolver.
There seems to be a bug in the resolver, where it never verifies that the version in the cache is the requested version.
The following line in fetch (index.js):
if (cached.version) return;
should be:if (cached.version === endpoint.target) return;
Without this the only workaround is the perform
bower cache clean
, which is not optimal.