我肯定会在作曲家的错误使用中挣扎。
我设置了这个存储库:https://github.com/alle/assets-merger
我分叉了项目,并且只是尝试将其设为kohana-module
,包括所有依赖项。
至于它需要YUI comporess JAR,我试图将JAR文件作为依赖项,我最后在composer.json
文件中声明它(请look at this)。< / p>
我需要将新包添加到项目后,我将其添加到require
部分,如下所示:
...
"alle/assets-merger": "dev-master",
...
但是(最新的)composer update
命令说:
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.
Problem 1
- Installation request for alle/assets-merger dev-develop -> satisfiable by alle/assets-merger[dev-develop].
- alle/assets-merger dev-develop requires yui/yuicompressor 2.4.8 -> no matching package found.
Potential causes:
- A typo in the package name
- The package is not available in a stable-enough version according to your minimum-stability setting see <https://groups.google.com/d/topic/composer-dev/_g3ASeIFlrc/discussion> for more details.
我的故事在这里结束。
如何在composer.json
存储库中配置https://github.com/alle/assets-merger
,以便将其作为完全满意的kohana-module
包含在其他项目中?
答案 0 :(得分:0)
我在composer.json
中注意到的一些事情。
Packagist上有一个版本的CSS minify可用,它说它只是原始Goole-Code托管文件的副本,但是使用Composer:natxet/cssmin。它是版本3.0.2,但我认为这不应该有所作为。
mrclay/minify
在包含相同版本的软件包中包含两次。它也可以在Packagist上找到。您可能已经使用过(版本2.2.0已注册,因为您没有使用Packagist访问权限,它通常可以安装,除非版本要求或冲突阻止它)。
您正在尝试下载一个JAR文件(这是一个没有PHP的Java可执行文件),但是尝试从中获取PHP类图。那肯定会失败。
您确实错过了Composer文档中的重要提示,即Composer无法解析子包中提到的存储库,只能解析根包中的存储库。这意味着如果您在其他任何地方使用该包,则不会使用您在alle/asset-merger
包中提及的任何内容。除了将包名本身添加为“必需”之外,您还必须在每个包中复制这些存储库。
这意味着您可能避免错过mrclay / minify,因为它在Packagist上可用,您可能会偶然添加cssmin,但您肯定没有添加YUICompressor。
但是你不应该首先添加它,因为它不是PHP软件。但是,您可以向项目添加安装后命令。您的所有Composer集成都是下载JAR文件。您可以使用安装后或更新后命令来执行此操作。请参阅此处的documentation 。