I have a cookbook with dependencies that are versioned 20.x.x.
When I run berks install
I get a resolution error like the one below:
Unable to satisfy the following requirements:
- `org_java (>= 0.0.0)` required by `org_dept_proj_xyz-20.0.2`
- `org_java (>= 0.0.0)` required by `org_dept_proj_pews-20.0.0`
- `org_java (>= 0.0.0)` required by `org_dept_proj_deployment_manager-20.0.0`
- `org_java (>= 0.0.0)` required by `org_dept_proj_swagger-20.0.0`
- `org_java (>= 0.0.0)` required by `org_dept_proj_rbd_webservice-20.0.0`
- `org_java (>= 0.0.0)` required by `org_jks-1.0.4`
- `org_java (>= 0.0.0)` required by `org_dept_proj_ppp-8.3.8`
- `org_java (>= 0.0.0)` required by `org_db2-0.9.0`
- `org_java (>= 0.0.0)` required by `org_dept_proj_consumer_controls-20.0.0`
- `org_java (>= 0.0.0)` required by `org_dept_proj_my_repo_webservice-2.2.8`
- `org_java (>= 2.3.3)` required by `org_jboss_eap_6-8.26.1`
- `org_java (>= 2.0.0)` required by `org_tomcat85-3.3.6`
- `org_java (>= 0.0.0)` required by `org_flyway-4.2.1`
- `org_java (~> 1.4)` required by `org_dept_proj_scope_base-0.15.6`
Unable to find a solution for demands: org_dept_proj_xyz (20.0.2), org_dept_proj_xyz_test (0.0.1)
All the cookbooks above with version 20.x.x exist, but org_dept_proj_scope_base 20.x.x also exists, and for some reason Berkshelf is resolving to 0.15.6. That is causing berks to fail because the version of org_java is not compatible with the other org_java requirement, but version 20.x.x of org_dept_proj_scope_base depends on a compatible version of org_java.
I have no clue why Berkshelf is resolving to that version.
The solver line in the Berksfile is:
solver :ruby, :required
use berks install --debug
to get more information about the cookbook dependencies resolution and be sure to read cookbook versioning.
both will give you the details that you need.