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
Honor cpanfile requirements when recursing sub dependencies #446
Conversation
This will occasionally pass and fail, because of hash randomization in newer perl.
…ependencies. Fix #363 and lots of issues with carton such as: perl-carton/carton#68
Most tests failures on Travis seem like due to errors on metacpan side randomly. Tests are all passing locally. |
Honor cpanfile requirements when recursing sub dependencies
I'm not sure this shoud be fixed or not, but comment here. If cpanfile is:
then,
=> install Path-Class distribution twice |
that is definitely a corner case, but also a correct behavior, because Module::Refresh wants Path::Class whatever version, so cpanm will get the latest from CPAN, then found that you want Path::Class::File == 0.25, so it tries to downgrade later. It's absolutely a correct behavior. It would be nicer if the actual installation happens later, after building the whole dep tree, but that's a very big change required for the cpanm installation process. |
This will save the parsed cpanfile requirements during the install session, and when extracting sub dependencies, cpanm will merge the prereqs of the root cpanfile, so that requirements in
cpanfile
will still effect there.This will address #363 and lots of issues with Carton such as perl-carton/carton#68