Composer/Packagist 找不到最低稳定性的软件包
Posted
技术标签:
【中文标题】Composer/Packagist 找不到最低稳定性的软件包【英文标题】:Composer/Packagist could not find package for minimum stability 【发布时间】:2017-04-30 04:38:43 【问题描述】:我正在尝试安装以下作曲家包:
composer require cr/hashcli
这是我做的一个包。但是当我尝试安装它时,我收到以下错误:
[无效参数异常] 在任何版本中都找不到包 cr/hashcli 以获得最低稳定性(稳定)。检查包裹拼写或您的 最低稳定性
我的 composer.json 如下:
"name": "cr/hashcli",
"description": "HashCLI - php CLI Tool For hashing",
"type": "library",
"keywords": ["hash", "cli"],
"license": "MIT",
"require":
"php": ">=5.5"
,
"require-dev":
"phpunit/phpunit": "^5.7"
,
"bin":[
"src/hashCLI"
],
"autoload":
"classmap": [
"src/"
]
,
"autoload-dev":
"classmap": [
"tests/"
]
知道为什么会发生这种情况以及如何解决这个问题吗?
【问题讨论】:
【参考方案1】:此软件包没有稳定版本。使用
composer require cr/hashcli:dev-master
【讨论】:
拥有稳定版本需要什么? 这个包的作者需要发布稳定版。 @Bizley 的回答对我有帮助!要使用不稳定的包,您可以将minimum-stability
设置为dev
和prefer-stable
设置为true
。但是,如果你正在编写一个包并且你希望能够下载它,那么只需使用 Git 创建一个标签,然后你的包就会在 packagist 上被发现是稳定的。
简洁的答案。为我工作。对此有太多误导性答案
我刚刚创建了标签,但问题仍然存在。 github.com/inimist/cakephp3-captcha。有什么想法吗?【参考方案2】:
既然你提到你是包的作者,如果你认为你的版本可以用于生产,你应该创建一个版本。
您可以在 GitHub 上执行此操作:
点击0 releases
创建一个新版本
创建一个发布版本,可能是v1.0
,添加描述并按下按钮:
尝试使用 composer 重新安装。确保首先删除 cahce composer clear-cache
,然后尝试 composer require your/pagackge
。
旁注:
我建议您阅读 this 以了解何时应该将发布命名为 v1.0.1
或 v1.1
或 v.2.0-alpha
等。这里有一些摘录:
一旦发布了版本化包,就不得修改该版本的内容。任何修改都必须作为 新版本。
换句话说,如果您将某些内容推送到您的存储库并且您没有创建另一个版本。人们只能通过 composer 下载最新版本。
6.如果只引入了向后兼容的错误修复,则必须增加补丁版本 Z (x.y.Z | x > 0)。错误修复定义为 修复错误行为的内部更改。
对于不会破坏任何内容的错误修复,您可以更新至v1.0.1
7.如果将新的向后兼容功能引入公共 API,则必须增加次要版本 Y (x.Y.z | x > 0)。它 如果任何公共 API 功能被标记为 已弃用。 [...]
如果您添加不会破坏代码的新功能,您应该调用下一个版本v1.1.0
。
8.如果将任何向后不兼容的更改引入公共 API,则必须增加主版本 X (X.y.z | X > 0)。
如果你做的事情可能会破坏其他人的代码,你可以调用新版本v2.0
9. 预发布版本可以通过在补丁后面附加一个连字符和一系列点分隔标识符来表示 版本。标识符必须仅包含 ASCII 字母数字和连字符 [0-9A-Za-z-]。
任何名为 v1.3-alpha
或 v1.3-christmas
的内容都将被视为预发布版本。
【讨论】:
你救了我!无法弄清楚如何摆脱 dev-master 并抛出一个版本。标记是不够的,但发布对我有用(在等待几分钟以清除缓存后)【参考方案3】:对于那些从命令行使用 Packagist、Composer 和 GIT 的人,只需在将包推送到 GitHub 后对其进行标记即可:
git push origin master
git tag v1.0.0
git push --tags
如果您已经创建了GitHub Hook for Packagist,Packagist 将在几分钟内更新,然后您可以从您的消费项目运行composer require my-user/my-package
。
【讨论】:
【参考方案4】:如果您希望能够安装开发包,您可以更改该项目的 composer 配置:
composer config minimum-stability dev
composer config prefer-stable true
【讨论】:
为我修好了,谢谢!以上是关于Composer/Packagist 找不到最低稳定性的软件包的主要内容,如果未能解决你的问题,请参考以下文章