php composer / Package 师找不到最低稳定性的 Package

8mmmxcuj  于 2023-01-08  发布在  PHP
关注(0)|答案(4)|浏览(138)

我正在尝试安装以下composer软件包:

composer require cr/hashcli

这是我做的一个包。但是当我试图安装它时,我得到了以下错误:
[InvalidArgumentException]找不到符合最低稳定性(stable)的任何版本的软件包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/"
    ]
}
}

你知道为什么会发生这种情况吗?我该如何解决这个问题?

eeq64g8w

eeq64g8w1#

此程序包没有稳定版本。请使用

composer require cr/hashcli:dev-master

编辑:现在你可以选择dev-main而不是dev-master。

bbuxkriu

bbuxkriu2#

既然你提到了你是软件包的作者,如果你认为你的版本可能会在生产中使用,你应该创建一个发布。
你可以在GitHub上完成以下操作:
1.点击0 releases

1.创建新版本

1.创建一个发布版本,可能是v1.0,添加描述并按下按钮:

1.尝试重新安装composer。请确保先删除cahce composer clear-cache,然后只尝试composer require your/pagackge
旁注:
我建议您阅读this以了解何时应该命名v1.0.1v1.1v.2.0-alpha等版本。以下是一个小摘录:
1.一旦一个版本化的软件包被发布,该版本的内容不能被修改。任何修改都必须作为新版本发布。
换句话说,如果你把一些东西推到你的仓库,而你没有创建另一个版本,人们只能通过composer下载最新的版本。
6.修补程序版本Z(x.y. Z| x〉0)如果只引入向后兼容的bug修复,则必须递增。bug修复被定义为修复不正确行为的内部更改。
对于不破坏任何内容的错误修复,您可以更新到v1.0.1
7.次要版本Y(x.Y. z| x〉0)必须递增,如果新的,向后兼容的功能被引入到公共API。它必须递增,如果任何公共API功能被标记为弃用。[...]
如果您添加了新功能,但不破坏代码,则应调用下一个版本v1.1.0
8.主版本X(X.y. z| X〉0)必须递增,如果任何向后不兼容的变化引入到公共API。
如果您执行的操作可能会破坏其他人提供的代码,则可以将新发行版称为v2.0
9.预发布版本可以通过在补丁版本后附加连字符和一系列点分隔的标识符来表示。标识符必须仅包含ASCII字母数字和连字符[0 - 9A-Za-z-]。
任何名为v1.3-alphav1.3-christmas的内容都将被视为预发布。

km0tfn4u

km0tfn4u3#

如果你想安装dev软件包,你可以为这个项目修改你的composer配置:

composer config minimum-stability dev
composer config prefer-stable true
hl0ma9xz

hl0ma9xz4#

对于那些从命令行使用Packagist、Composer和GIT的用户,只需在将软件包推送到GitHub后标记它即可:

git push origin master
git tag v1.0.0
git push --tags

如果您已经为Packagist创建了GitHub Hook,Packagist将在几分钟内更新,然后您可以从您的消费项目运行composer require my-user/my-package

相关问题