我使用Laravel的工作台创建了一个包,并在pica / pica-base下将其上传到Packagist。该软件包包含以下require语句:
"要求":{ " php":"> = 5.4.0", "照亮/支持":" 4.2。*", " gregwar / captcha":" dev-master" },
当我尝试安装我的pica / pica-base软件包时,它无法说明以下错误消息:
您的要求无法解析为可安装的软件包。
问题1 - pica / pica-base dev-master需要gregwar / captcha dev-master - >找不到匹配的包。 - pica / pica-base dev-master需要gregwar / captcha dev-master - >找不到匹配的包。 - 对pica / pica-base dev-master的安装请求 - >可以通过pica / pica-base [dev-master]来满足。
根据常见问题解答的建议,我还尝试使用gregwar / captcha包并使用相同的结果,使用' dev'以及#dev; master'的程序。
我不明白这一点,因为有了完全相同的要求,我可以在任何其他项目中安装gregwar-package。并且包的链接显示在Packigist(https://packagist.org/packages/pica/pica-base)上的包的页面中。
那为什么会失败?
感谢您的努力!
答案 0 :(得分:0)
默认情况下,Composer在计算依赖项时仅使用稳定包。如果要使用不稳定(dev-master)包,有两种方法可以覆盖它:
composer.json
中,需要dev-master
版本的软件包(这就是获取pica/pica-base
软件包的原因,因为它位于您的根composer.json
中})在您的根composer.json
中,将minimum-stability
flag设置为dev
:
"require": {
...
},
"minimum-stability": "dev"
所以你基本上可以做以下事情之一:
gregwar/captcha
(您的Laravel项目之一)中添加composer.json
依赖项"minimum-stability": "dev"
添加到您的根composer.json
。我建议选择第二个选项。如果您这样做,您可能还想添加prefer-stable
flag,以确保不会在不稳定版本中下载所有软件包:
"require": {
...
"pica/pica-base": "dev-master"
},
"minimum-stability": "dev",
"prefer-stable": true