php - 加载两个自定义库
问题描述
我使用 Composer 从另一个自定义库加载自定义库时遇到了一些问题
我有 2 个名为“ia/audit_trail”和“ia/flash”的自定义库。而“ia/audit_trail”需要“ia/flash”才能工作。
因此,我设置了用于调用另一个的 require 属性。没什么特别的,但是,当我composer update -vvv
在我的主项目中运行一个简单的,我得到了这个错误:
您的要求无法解决为一组可安装的软件包。
问题 1
- ia/audit_trail_component ~1.0.0 的安装请求 -> 可由 ia/audit_trail_component[1.0.0] 满足。
- ia/audit_trail_component 1.0.0 需要 ia/flash_component ~1.0.0 -> 找不到匹配的包。潜在原因:
- 包名称中的拼写错误- 根据您的最低稳定性设置,
该包在足够稳定的版本中不可用,
请参阅https://getcomposer.org/doc/04-schema.md#minimum-stability更多细节。
- 这是一个私有包,您忘记添加自定义存储库来查找它阅读https://getcomposer.org/doc/articles/troubleshooting.md了解更多常见问题...
但是,如果我将这两个库直接放入我的主项目中(所以如果一个库不需要另一个库),它可以工作!
这是composer.json
我的主要项目:
{
"require": {
"ia/audit_trail_component": "1.0.0"
},
"repositories": [
{
"type": "vcs",
"url": "https://github.com/pierrererot/audit_trail.git"
}
]
}
好的。所以我确实需要我的自定义“audit_trail”库。所以现在,这是composer.json
我的自定义“audit_trail”库:
{
"name": "ia/audit_trail_component",
"version": "1.0.0",
"type": "library",
"require": {
"ia/flash_component": "1.0.0"
},
"repositories": [
{
"type": "vcs",
"url": "https://github.com/pierrererot/flash.git"
}
],
"minimum-stability": "dev"
}
好的。所以我确实需要我的自定义“flash”库。然后,这是composer.json
我的自定义“flash”库:
{
"name": "ia/flash_component",
"version": "1.0.0",
"description": "Flash Component",
"type": "library",
"minimum-stability": "dev"
}
如您所见,我的作曲家文件中的一切似乎都很好,所以我不明白我错过了什么。
==> 请问有人知道吗?
在你问之前,我明确了这些事情:
这两个库都有一个“dev”和一个“master”分支推送到他们的 Git 存储库
两个库都在其 Git 存储库上推送了至少 1.0.0 标记
解决方案
repositories
设置是 root-only - Composer 将忽略所有依赖项的此设置,并仅使用在您的主项目中定义的这些存储库。
存储库仅对根包可用,并且不会加载依赖项中定义的存储库。如果您想了解原因,请阅读常见问题解答条目。
因此,您需要将所有必要的存储库添加到composer.json
您的主项目中:
"repositories": [
{
"type": "vcs",
"url": "https://github.com/pierrererot/audit_trail.git"
},
{
"type": "vcs",
"url": "https://github.com/pierrererot/flash.git"
}
],
推荐阅读
- ruby-on-rails - 在 rails Dropbox 中显示标签
- node.js - TypeError:无法读取未定义的属性“秘密”
- c# - 如何在webforms c#中删除标签的底线
- sql - 如何仅选择 SQL 中当前术语中存在的那些记录?
- java - 将 Spring 模型发送到 Freemarker 头标签,没有特定路线
- javascript - 不能循环遍历 React 中的对象?
- events - 如果成员说出特定单词,则自动将其静音 discord py rewrite
- php - CodeIgniter 4 验证匹配选项的正确语法
- php - 将 FIND_IN_SET(SUBSTRING 与数据表编辑器一起使用
- mysql - 如何在 django 原始查询中编写 DATE_FORMAT(now(), "%m/%d/%Y")