我正在尝试安装以下作曲家包:
composer require cr/hashcli
这是我做的一个包。但是当我尝试安装它时,我收到以下错误:
[InvalidArgumentException]
Could not find package cr/hashcli at any version for your minimum-stability
(稳定)。检查包装拼写或最小稳定性
我的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/"
]
}
}
有关为什么会发生这种情况的任何想法以及如何解决这个问题?
答案 0 :(得分:23)
此软件包没有稳定版本。使用
composer require cr/hashcli:dev-master
答案 1 :(得分:4)
如果您希望能够安装开发包,您可以更改该项目的 Composer 配置:
composer config minimum-stability dev
composer config prefer-stable true
答案 2 :(得分:3)
由于您提到自己是软件包的作者,因此如果您认为自己的版本可以在生产中使用,则应创建一个发行版。
您可以在GitHub上完成此操作:
我建议您阅读this,以了解何时应为发行版命名为v1.0.1
或v1.1
或v.2.0-alpha
等。以下是一些摘录:
- 一旦发布了版本化的软件包,则不得修改该版本的内容。任何修改都必须以 新版本。
换句话说,如果您将某些内容推送到存储库中,并且您没有创建另一个发行版。人们只能通过作曲家下载最新版本。
6。如果仅引入了向后兼容的错误修复程序,则必须增加Z版本(x.y.Z | x> 0)。错误修复定义为 内部更改,可以纠正错误的行为。
对于没有破坏任何内容的错误修复,您可以更新为v1.0.1
7。次要版本Y(x.Y.z | x> 0)必须增加,如果新的,向后兼容的功能引入了公共API。它 如果任何公共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
的任何内容都将被视为预发布版本。
答案 3 :(得分:1)
对于从命令行使用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
。