尽管在包的 Github 分支中有标签,但在 composer 中获取 "Could not find a version of package .."

Getting "Could not find a version of package .." in composer inspite of having tags in Github branch of package

我正在学习如何在 packagist.org 上上传包。我创建了一个 github 存储库用于使用 composer.json 文件进行测试 - https://github.com/perials/check 和使用此 github 存储库的作曲家包 - https://packagist.org/packages/perials/check

当我尝试使用 composer require perials/check 安装这个包时,出现以下错误

[InvalidArgumentException]                                              
Could not find a version of package perials/check matching your minimum-stability (stable). Require it with an explicit version constraint allowing its desired stability.

根据我在有关 SO 的其他相关问题中阅读的内容,如果 github 分支没有稳定版本,则会发生此错误。但问题是我已经有一些版本了。

我也尝试了 composer require perials/check:dev-mastercomposer require perials/check:7.1.0 但后来我遇到了错误

[InvalidArgumentException]             
Could not find package perials/check.  

Did you mean this?                     
perials/check

这是 packagist 元数据的新加坡镜像问题。现在应该解决了。 https://github.com/composer/composer/issues/8347#issuecomment-537176755

如果仍未解决您的问题,请在您的composer.json

中添加"minimum-stability": "dev"
{
    "name": "perials/check",
    "description": "Package for testing packagist",
    "license": "MIT",
    "authors": [
        {
            "name": "Perials",
            "email": "info@perials.com"
        }
    ],
    "autoload": {
        "psr-4": {"Abc\": "src/xyz"}
    },
    "require": {},
    "minimum-stability": "dev"
}

您不能接受任何稳定版本的包。请参阅文档中的作曲家 (https://getcomposer.org/doc/04-schema.md#package-links)。

为方便起见,将片段粘贴到此处:

You can apply them to a constraint, or apply them to an empty constraint if you want to allow unstable packages of a dependency for example.

composer.json:

{
    "require": {
        "monolog/monolog": "1.0.*@beta",
        "acme/foo": "@dev"
    }
}

在你的情况下你会这样做:

{
    "require": {
        "perials/check": "7.1.0@dev"
    }
}

然后 运行 rm composer.lock; composer install.

我也在学习如何创建包并遇到了同样的问题,但就我而言,我为我的包创建了一个 v1.0.0 标签并解决了问题。

如果您是软件包的作者,只需 运行 此代码 composer self-update --2。根据 composer documentation 此命令将升级您的作曲家版本。 如果您遇到任何错误,您可以 运行 composer self-update --1 回滚旧版本。