我的软件包依赖于照明/支持~4.1
。
我正在尝试在Laravel项目中安装此软件包,该项目的composer.json
文件需要"laravel/framework": "4.1.*"
。
但是当我运行composer require
并尝试安装此软件包时,每次最终都会遇到此错误:
您的要求无法解析为一组可安装的软件包。 问题1 - 结论:删除拉拉维尔/框架 v4.1.29 - Adityamenon/邮政编码-io-Laravel 1.0.0 需要 illuminate/支持 4.2.* -> 可以通过 illuminate/support[v4.2.1、v4.2.2、v4.2.3、v4.2.4、v4.2.5、v4.2.6、v4.2.7、v4.2.8、v4.2.9] 来满足。 - Adityamenon/邮政编码-io-Laravel 1.0.1 需要 illuminate/支持 4.2.* -> 可以通过 illuminate/support[v4.2.1、v4.2.2、v4.2.3、v4.2.4、v4.2.5、v4.2.6、v4.2.7、v4.2.8、v4.2.9] 来满足。 - 不要安装 Illuminate/支持 v4.2.1|不要安装 laravel/framework v4.1.29 - 不安装 Illuminate/支持 v4.2.2|不要安装 Laravel/Framework v4.1.29 - 不安装 Illuminate/支持 v4.2.3|不要安装 Laravel/Framework v4.1.29 - 不安装照明/支持 v4.2.4|不安装 laravel/framework v4.1.29 - 不要安装Illuminate/支持v4.2.5|不要安装Laravel/Framework v4.1.29 - 不安装 Illuminate/支持 v4.2.6|不要安装 Laravel/Framework v4.1.29 - 不安装 Illuminate/支持 v4.2.7|不要安装 Laravel/Framework v4.1.29 - 不要安装 Illuminate/支持 v4.2.8|不要安装 Laravel/Framework v4.1.29 - 不安装 Illuminate/支持 v4.2.9|不要安装 Laravel/Framework v4.1.29 - laravel/framework 的安装请求 == 4.1.29.0 -> laravel/framework[v4.1.29] 可以满足。 - adityamenon/postcodes-io-laravel ~1.0 -> 的安装请求,可通过 adityamenon/postcodes-io-laravel[1.0.0, 1.0.1] 满足。安装失败,将 ./composer.json 恢复为其原始内容。
我做错了什么?
您安装 adityamenon/postcodes-io-laravel ~1.0
,正如我们在错误消息中的最后一项中读到的那样:
这意味着 1.0.0adityamenon/postcodes-io-laravel ~1.0 -> 的安装请求可以通过 adityamenon/postcodes-io-laravel[1.0.0, 1.0.1] 来满足。
或 1.0.1(也显示在此项目中)。查看 packagist,1.0.0 和 1.0.1 都需要 4.2.* illuminate/support
(显示在错误消息的第二项和第三项中)。安装 laravel/framework
4.1.*。由于4.1.*
不在4.2.*
(包所需的版本)范围内,因此它将失败。
您可能想要安装开发版本,您可以通过用 @dev
标记它来完成:
{
...
"require": {
"adityamenon/postcodes-io-laravel": "dev-master"
}
}
顺便说一句,真正依赖dev-master
不是一个好主意.您应该始终尝试将主分支别名为特定的开发版本。
看来您是该软件包的作者。
对于所有已发布的版本 1.0.0我的软件包依赖于照明/支持 ~4.1。
和 1.0.1,这是错误的 - 这些版本依赖于 illuminate/支持 4.2.*。
只有主分支依赖于 ~4.1 - 如果你想发布它,只需将当前的主分支标记为版本 1.0.2 或 1.1.0(取决于是只修复错误还是更改了它的界面 - 甚至可能是不兼容的版本 2.0.0)。
然后,您可以更新其他软件以将您的软件包与Laravel 4.1一起使用。