【问题标题】:Adding dependencies from a single file, without composer.json从单个文件添加依赖项,无需 composer.json
【发布时间】:2014-05-05 17:22:03
【问题描述】:

当然,我正在为作曲家的错误用法而苦苦挣扎。

我设置了这个存储库:https://github.com/alle/assets-merger

我分叉了这个项目,只是想把它变成一个kohana-module,包括所有的依赖项。

至于它需要 YUI comporess JAR,我试图将那个 JARfile 作为依赖项,我最终在composer.json 文件中声明它(请look at this)。

一旦我需要将新包添加到项目中,我将其添加到 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.

我的故事到此结束。

我应该如何在https://github.com/alle/assets-merger 存储库中配置我的composer.json,以便将其作为完全满意的kohana-module 包含在其他项目中?

【问题讨论】:

    标签: kohana composer-php kohana-3


    【解决方案1】:

    我在您的composer.json 中注意到了一些事情。

    1. Packagist 上提供了该 CSS 缩小的版本,它表示它只是原始 Goole-Code 托管文件的副本,但使用 Composer:natxet/cssmin。它是 3.0.2 版,但我认为这应该没什么区别。

    2. mrclay/minify 在相同版本的软件包中包含两次。它也可以在Packagist 上找到。您可能已经使用它(版本 2.2.0 已注册,并且由于您没有打开 Packagist 访问权限,除非版本要求或冲突阻止它,否则它通常可以安装)。

    3. 您正在尝试下载 JAR 文件(这是一个没有 PHP 的 java 可执行文件),但尝试从中获取 PHP 类映射。那肯定会失败。

    4. 您确实错过了 Composer 文档中的重要说明,即 Composer 无法解析子包中提到的存储库,只能在根包中解析。这意味着,如果您在其他任何地方使用该软件包,则不会使用您在 alle/asset-merger 软件包中提到的任何内容。除了将包名称本身添加为“必需”之外,您还必须在每个包中复制这些存储库。

    这意味着你可能避免错过 mrclay/minify,因为它在 Packagist 上可用,你还不如不小心添加了 cssmin,但你肯定没有添加 YUICompressor。

    但你不应该一开始就添加这个,因为它不是 PHP 软件。但是,您可以将安装后命令添加到您的项目中。您的 Composer 集成所做的就是下载 JAR 文件。您可以使用安装后或更新后命令来执行此操作。请在此处查看documentation

    【讨论】:

    • 即使是一周的第一天,昨天我一定是累到犯了所有这些错误!我什至没有在这些包中看到 composer.json。哎呀...@Sven,你让我开心!是的,我错过了那个大字。非常感谢您的宝贵时间。
    猜你喜欢
    • 2013-02-08
    • 1970-01-01
    • 2013-09-03
    • 1970-01-01
    • 1970-01-01
    • 2016-04-05
    • 1970-01-01
    • 2015-05-10
    • 1970-01-01
    相关资源
    最近更新 更多