Hex v0.21 添加了注册表自托管、diff 和依赖项改进、mix hex.sponsor
任务等!
Hex 附带一个新的 mix hex.registry
任务,可轻松构建本地 Hex 注册表。有关更多信息,请参阅新的 自托管指南。
新版本还带来了许多改进,以便更好地了解和管理 Mix 项目中的依赖项。
mix hex.outdated
现在可以轻松查看您使用的版本与最新版本之间依赖项的变化,它会输出一个链接,该链接将显示一个 diff 列表。
$ mix hex.outdated
导航到 https://hex.org.cn/l/T16Wu 将显示
mix hex.package diff
现在可以用来将当前使用的版本(在 mix.lock
中)与任意版本进行 diff。
$ mix hex.package diff ecto 3.5.1
(...)
@@ -1,15 +1,16 @@
defmodule Ecto.MixProject do
use Mix.Project
- @version "3.5.0"
+ @version "3.5.1"
(...)
在 Mix 项目之外运行时,它现在允许更紧凑的版本范围规范。
$ mix hex.package diff ecto 3.5.{0,1}
(...)
@@ -1,15 +1,16 @@
defmodule Ecto.MixProject do
use Mix.Project
- @version "3.5.0"
+ @version "3.5.1"
(...)
感谢 @halostatue、@RyanSiu1995 和 @xinz 为这些改进做出贡献!
Hex 现在可以轻松找到有赞助的包。运行下面的命令可以在当前项目中找到此类依赖项,以下是输出可能的样子
$ mix hex.sponsor
Dependency Sponsorship
cowboy https://github.com/sponsors/essen
oban https://getoban.pro
如果要列出您的项目,请在您的 mix.exs
(或 rebar.config
等)中添加一个 "Sponsor"
链接。
links: %{
"GitHub" => "https://github.com/sorentwo/oban",
"Sponsor" => "https://getoban.pro"
}
感谢 @philss 为此做出贡献!
mix hex.publish --replace
首先,快速提醒一下 Hex.pm 包更新策略,来自 https://hex.org.cn/docs/faq
Hex 存储库是不可变的(…)
不可变性规则有一些例外,包可以在包版本发布后的 60 分钟内或包首次发布后的 24 小时内更改或取消发布。
现在,当尝试重新发布现有版本时,您需要明确传递 --replace
标志。
值得一提的是,Hex.pm 私有包 没有重新发布的时间窗口,因此 --replace
选项在私有包中特别有用。
https://github.com/hexpm/hex 存储库现在维护一个 latest
分支,这意味着您可以通过以下方式安装 Hex:
$ mix archive.install github hexpm/hex branch latest
当您在使用运行 $ mix local.hex
的默认安装方法时遇到问题(例如 HTTP 错误)时,这很有用。
Hex v0.21 带来了许多其他改进和错误修复,有关更改的完整列表,请参阅 CHANGELOG。感谢所有为此做出贡献的贡献者!