我在那里构建了我的第一个ruby应用程序:https://rubygems.org/gems/youtube_dlhelper。如版本所示,可以使用正确的版本:0.1.0,0.1.1和0.1.2。 但看起来rubygems只列出了最早的0.1.0。 也许有人知道为什么?
答案 0 :(得分:1)
最新版本的gem未显示为默认值,因为它不符合Semantic Versioning规范。尽管0.1.2.alpha
大于0.1.0.alpha
对人类来说似乎很明显,但快速查看规范会发现这是指定预发布的错误方法。这是一个相关的摘录(我强调):
可以通过在补丁版本之后紧跟附加连字符和一系列点分隔标识符来表示预发布版本。标识符必须只包含ASCII字母数字和连字符 [0-9A-Za-z-]。标识符绝不能为空。数字标识符不得包含前导零。预发布版本的优先级低于关联的普通版本。预发布版本表示版本不稳定,可能无法满足其关联的正常版本所表示的预期兼容性要求。 示例:1.0.0-alpha,1.0.0-alpha.1,1.0.0-0.3.7,1.0.0-x.7.z.92。
我不确定0.1.2.alpha
是如何被解释的,但我认为你最好的办法是发布你的宝石的0.1.3
版本,然后抽出错误版本的宝石。您甚至可以尝试发布0.1.3-alpha
,但我会等到更有知识的人能够给出更明确的答案。
与此同时,我绝对鼓励您查看Semantic Versioning规范。