如何解决作曲家的'没有足够稳定版本'的套件? [英] How to solve the 'package not available in stable-enough version' error of composer?

查看:106
本文介绍了如何解决作曲家的'没有足够稳定版本'的套件?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

最近,我一直在做大量关于Composer最小稳定性的研究。我进入官方文档并阅读最低稳定性变化。但是,即使如此,我也无法让作曲家安装依赖关系。



我有根包和另外两个,我们称它们为packageA和packageB。
当我在root包中需要packageB时,packageB必须带上packageA,但那是我收到错误信息的时候。


您的需求无法解析为一组可安装的软件包。



问题1




  • packageB / packageB的安装请求dev-master - >可以通过packageA / packageA [dev-master]来满足。

  • packageB / packageB dev-master需要packageA / packageA dev-master - >找不到匹配的包。



潜在原因:


  • 包名中的一个类型

  • 根据您的最小稳定性设置,该包不具有足够稳定的版本。


我的composer.json的根包短版

 

{
require:{
packageB / packageB:dev-master
},
repositories:[
{
type:vcs,
url:git@bitbucket.org:packageB / packageB.git


minimum-stability:dev
}

packageA我的composer.json的简短版本

 

{
require:{

},
最小稳定性:dev
}

我的composer.json的packageB短版

 

{
require:{
packageA / packageA:dev-master
},
repositories:[
{
type:vcs,
url:git@bitbucket.org:packageA / packageA.git
}
],
minimum-stability:dev
}

所需的根目录packageB需要packageA,但packageB表示找不到packag eA在匹配条件下。

我做错了什么?



自现在开始感谢。

$ b $我找到了合适的解决方案。

这就是我所做的。

$ b
$ b

第一:


我删除了我的包A的composer.json中的最小稳定性字段B;对于最小的稳定性是一个只有根的领域。正如在[link] https://getcomposer.org/doc/04 -schema.md#minimum-stability )。


但真正的解决方案是,私有软件包,我使用bitbucket来托管这两个软件包,并将指定repos位于根composer和packageB composer内composer.json中的repositories字段中。

这就是错误的。



正如链接时,作曲家的根包必须包含存储库字段中所有repos的链接。



如此:

我的composer.json的根包短版

  {
require:{
packageB / packageB:dev-master
},
repositories:[
{
type:vcs,
url:git@bitbucket.org:packageB / packageB.git
},
{
type:vcs,
url:git@bitbucket.org:packageA / packageA.git
}
],
minimum-stability:dev
}

packageA短期版本的我的composer.json

  {
require:{

}
}

我的composer.json的packageB简短版本

  {
require:{
packageA / packageA:dev-master
}



希望它有效,因为它适合我。和平出去!


Recently, I've been doing a lot of research about Composer minimum-stability. I get into the official documentation and read about the minimum-stability change. But, even so I cant get the composer to install the dependencies.

I have the root package and two others, let's call them packageA and packageB. When I required the packageB in the root package, the packageB has to bring with him the packageA, but that's when i'm getting the error.

Your requirements could not be resolved to an installable set of packages.

Problem 1

  • Installation request for packageB/packageB dev-master -> satisfiable by packageA/packageA[dev-master].
  • packageB/packageB dev-master requires packageA/packageA dev-master -> no matching package found.

Potential causes:

  • A type in the package name
  • The package is not available in a stable-enough version according to your minimum-stability setting.

The root package short version of my composer.json


    {
      "require": {      
        "packageB/packageB": "dev-master"
      },
      "repositories": [
        {
          "type": "vcs",
          "url":  "git@bitbucket.org:packageB/packageB.git"
        }
      ],
      "minimum-stability": "dev"
    }

The packageA short version of my composer.json


    {
      "require": {      

      },
      "minimum-stability": "dev"
    }

The packageB short version of my composer.json


    {
      "require": {      
        "packageA/packageA": "dev-master"
      },
      "repositories": [
        {
          "type": "vcs",
          "url":  "git@bitbucket.org:packageA/packageA.git"
        }
      ],
      "minimum-stability": "dev"
    }

The root required packageB that requires packageA, but the packageB says that can't find packageA in the matching conditions.

What I'm doing wrong?

Thanks a lot since now.

解决方案

I found the proper solution.

Here's what I did.

First:

I removed the minimum-stability field inside the composer.json of my packages A and B; For the minumum-stability is a root-only field. As, described in this [link] https://getcomposer.org/doc/04-schema.md#minimum-stability).

But the real solution was, as I was working with my own private package, I was using bitbucket to host the two packages, pointing the repos in the "repositories" field inside my composer.json inside of the root composer and the packageB composer.

And that is what was wrong.

As described in this link, the composer's root package has to include the link of all the repos inside the repositories field.

Being just like so:

The root package short version of my composer.json

{
  "require": {      
    "packageB/packageB": "dev-master"
  },
  "repositories": [
    {
      "type": "vcs",
      "url":  "git@bitbucket.org:packageB/packageB.git"
    },
    {
      "type": "vcs",
      "url":  "git@bitbucket.org:packageA/packageA.git"
    }
  ],
  "minimum-stability": "dev"
}

The packageA short version of my composer.json

{
    "require": {      

    }
}

The packageB short version of my composer.json

{
  "require": {      
    "packageA/packageA": "dev-master"
  }
}

Hope it works, because it worked for me. Peace out!

这篇关于如何解决作曲家的'没有足够稳定版本'的套件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆