首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >silex/silex 1.0.*@dev ->未找到匹配的软件包

silex/silex 1.0.*@dev ->未找到匹配的软件包
EN

Stack Overflow用户
提问于 2012-11-11 03:30:41
回答 1查看 1.2K关注 0票数 1

如果我创建一个空文件夹并将composer.json放在那里:

代码语言:javascript
复制
{
    "require": {
        "silex/silex": "1.0.*@dev"
    }
}

然后运行composer install -它运行得很好,microframework silex和它的所有要求都将安装到供应商文件夹中。好的。

现在更复杂的例子,我不能理解为什么它不工作。我有一个项目(叫做"FB"),它依赖于我自己的“某种框架”(叫做"light/light4")。FB项目的composer.json:

代码语言:javascript
复制
{
    "repositories":[
        {
            "type":"hg",
            "url":"http://bitbucket.org/pqr/light4"
        }
    ],
    "require":{
        "light/light4":"dev-default"
    }
}

正如你所看到的,它依赖于我托管在bitbucket上的框架light/light4。然后是light/light 4 composer.json:

代码语言:javascript
复制
{
    "name":"light/light4",
    "version":"1.0.0",
    "require":{
        "php":">=5.4.0",
        "silex/silex": "1.0.*@dev",
        "twig/twig":">=1.8,<2.0-dev",
        "monolog/monolog":">=1.0.0",
        "symfony/validator":"2.1.*",
        "symfony/console":"2.1.*"
    },
    "autoload":{
        "psr-0":{
            "Light":"src/"
        },
        "files":[
            "src/functions/body.php", "src/functions/db.php", "src/functions/file.php", "src/functions/misc.php"
        ]
    }
}

light/light4依赖于silex/silex和其他一些东西。

因为我从来没有提到过"minimun-stability":"dev" -假设所有的包在默认情况下都会安装到稳定的版本中。除了光/光4作为"silex/silex": "1.0.*@dev"所要求的silex/silex之外

不幸的是,当我在根项目(FB)上运行composer -v install时,我得到了以下错误:

代码语言:javascript
复制
Loading composer repositories with package information
Reading composer.json of light/light4 (default)
Importing branch default (dev-default)
Installing dependencies
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - light/light4 dev-default requires silex/silex 1.0.*@dev -> no matching package found.
    - light/light4 dev-default requires silex/silex 1.0.*@dev -> no matching package found.
    - Installation request for light/light4 dev-default -> satisfiable by light/light4 dev-default.

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.

Read <http://getcomposer.org/doc/articles/troubleshooting.md> for further common problems.

silex/silex 1.0.*@dev -> no matching package found -为什么?它适用于简单的空项目,但不适用于需求链:(

来自composer-dev irc的人建议将"silex/silex": "1.0.*@dev"放入FB项目的通用composer.json中。我试过了--现在它起作用了:所有的包都安装在稳定的版本中,唯一的silex/silex安装在我想要的开发版本中。现在我完全糊涂了。

问题仍然存在-为什么它在一般的composer.json中有效,而在嵌套(必需)项目light/light4中不起作用?我应该从根本上理解这个问题,还是这只是一个作曲家的bug?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-11 04:05:57

正如docs所说:"require和require dev另外还支持稳定性标志(仅限根)“

这些标志只能从根包中读取(请参阅definition of root-only),因为这样可以让您的项目完全控制包的稳定性。显然,当你的一些依赖依赖于不稳定的东西时,这是一个问题,但随着越来越多的包拥有composer可用的稳定版本,这种情况应该会变得更好。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13325355

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档