chef-infra - Berkshelf 解析为非常旧版本的食谱
问题描述
我有一本包含版本为 20.xx 的依赖项的食谱
当我运行时,berks install
我得到一个解析错误,如下所示:
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)
上面所有版本为 20.xx 的说明书都存在,但 org_dept_proj_scope_base 20.xx也存在,出于某种原因,Berkshelf 正在解析为 0.15.6。这导致 berks 失败,因为 org_java 的版本与其他 org_java 要求不兼容,但 org_dept_proj_scope_base 的 20.xx 版本依赖于 org_java 的兼容版本。
我不知道为什么 Berkshelf 会解决这个版本。
Berksfile 中的求解器行是:
solver :ruby, :required
解决方案
用于berks install --debug
获取有关说明书依赖项解析的更多信息,并确保阅读说明书版本控制。
两者都会为您提供所需的详细信息。
推荐阅读
- keras - 预训练嵌入层:tf.constant,形状不受支持
- reactjs - “警告:无法对未安装的组件执行反应状态更新”但是这些方法都不起作用
- ios - NSLayoutManager 在首次加载时提供了错误的 lineFragmentUsedRect
- android - 自定义图像,顶部带有动态文本,带有背景
- dm-script - DMS3.0 或更高版本中在后台运行并允许用户交互的任何函数(如 FloatingModelessDialog)
- javascript - Formik Field API 的 onChange 函数不适用于子组件
- python-3.x - 如何将字符串转换为变量?-Python
- ios - 使用 GRDB 禁用或推迟外键强制执行以进行数据库迁移
- javascript - 删除重复 Jquery 代码不适用于我的 MVC 表单上的所有下拉列表
- javascript - 是否可以让 README 文档首先出现在 Storybook 导航中,然后是所有故事?