如何确保稳定版本满足依赖性

时间:2014-02-10 15:13:22

标签: composer-php dependency-management packagist

我在composer-dev邮件列表上问了这个问题,但社区没有SO那么活跃。

我最近发布了this package on Packagist和1.0.0-dev版本,之后不久我添加了一些文档并将其发布为1.0.1。 (两个版本都使用Git标签完成)

使用简单的require foo/bar ~1.0 Composer测试部署时,告诉我“您的要求无法解析为可安装的软件包集”。 当我将显式版本指定为“1.0.1”

时,会发生同样的情况

所以我尝试用require foo/bar dev-master将其拉下来,这很好。然后我编辑了composer.json,将“dev-master”改为“1.0.1”并运行composer update - 这现在给出了一个更明确的消息“无法找到所请求的包foo / bar 1.0.1”。

版本1.0.1显然在Packagist网站上,所以我不知道我做错了,作曲家没有识别它。

2 个答案:

答案 0 :(得分:0)

我做了以下事情:

mkdir testdir
cd testdir
composer init 
// answer all questions with default values, resulting in a new, clean composer.json

composer require loco/swizzle:~1.0

结果:

./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
  - Installing psr/log (1.0.0)
    Downloading: 100%

  - Installing monolog/monolog (1.7.0)
    Downloading: 100%

  - Installing symfony/event-dispatcher (v2.4.1)
    Downloading: 100%

  - Installing guzzle/guzzle (v3.8.1)
    Downloading: 100%

  - Installing loco/swizzle (1.0.1)
    Downloading: 100%

您提供的信息无法复制您的问题。我得到的composer.json是:

{
    "name": "test/test",
    "authors": [
        {
            "name": "Test User",
            "email": "test@test.example"
        }
    ],
    "require": {
        "loco/swizzle": "~1.0"
    }
}

答案 1 :(得分:0)

我讨厌以这种方式回答我自己的问题,但看起来非常像Packagist在更新软件包时有延迟。

即使正确实施了服务挂钩,我发现通常需要几分钟才能使用新部署的版本更新测试版本。

在这个特殊的日子,它似乎需要数小时,但最好的任何人都可以告诉我,我上面列出的步骤没有任何问题。