在composer.json中找不到所需的包



我使用Laravel的工作台创建了一个包,并将其上传到pica/pica-base下的Packagist。该包包含以下需求声明:

"要求":{"php":">=5.4.0","照明/支持":"4.2.*","gregwar/catcha":"dev-master"},

当我尝试安装我的pica/pica基本包时,它失败了,并显示以下错误消息:

无法将您的要求解析为一组可安装的程序包。

问题1-pica/pica-base-dev-master需要gregwar/catcha-dev-master->找不到匹配的包。-pica/pica-base-dev-master需要gregwar/catcha-dev-master->找不到匹配的包。-pica/pica-base-dev master的安装请求->可由pica/pica base-dev master]满足。

根据常见问题解答的建议,我还尝试了gregwar/catcha包中"dev-master"的"dev"staed程序,但结果相同。

我不理解这一点,因为有了完全相同的要求,我可以在任何其他项目中安装gregwar包。包裹的链接显示在我在Packigist上的包裹页面上(https://packagist.org/packages/pica/pica-base)。

那么,为什么会失败呢?

感谢您的努力!

默认情况下,Composer在计算依赖项时只使用稳定的包。如果你想使用一个不稳定的(开发主)包,有两种方法可以覆盖它:

  1. 在根composer.json中,需要包的dev-master版本(这就是为什么您可以像根composer.json一样获得pica/pica-base包)
  2. 在根composer.json中,将minimum-stability标志设置为dev:

    "require": {
        ...
    },
    "minimum-stability": "dev"
    

所以你基本上可以做以下事情之一:

  1. 在根composer.json(Laravel项目的一个)中添加gregwar/captcha依赖项
  2. "minimum-stability": "dev"添加到根composer.json

我建议选择第二种选择。如果这样做,您可能还需要添加prefer-stable标志,以确保并非所有包都以不稳定的版本下载:

"require": {
    ...
    "pica/pica-base": "dev-master"
},
"minimum-stability": "dev",
"prefer-stable": true

相关内容

  • 没有找到相关文章

最新更新