Hex 包管理

Hex 包管理。

对于包管理,rebar3 使用 hex.pm,这是一个用于 Erlang 和 Elixir 包的包管理器。

基本用法

您应该阅读 文档 以获取每个提供程序的完整指南,但以下是对基本用法的简要概述。

注册 Hex 用户

注册用户时,系统会提示您输入用户名、电子邮件和密码。电子邮件用于在注册过程中确认您的身份,以及在您的某个包出现问题时与您联系。电子邮件绝不会与第三方共享。

$ rebar3 hex user register
Username: johndoe
Email: john.doe@example.com
Password:
Password (confirm):
Registering...
Generating API key...
You are required to confirm your email to access your account, a confirmation email has been sent to john.doe@example.com

用户认证

如果您已拥有 hex.pm 的用户,请运行

$ rebar3 hex user auth

请注意,这将询问您的 hex.pm 用户名和密码,以及用于加密您对存储库具有写入权限的 API 令牌的密码。发布包时,您必须提供此密码才能解密令牌以进行发布。

有关更多信息,请参阅 文档

构建

build 提供程序对于查看使用 publishcut 任务实际发布的内容非常有用,而无需任何实际发布包或文档的可能性。包和文档的 Tarball 默认写入 _build/<profile>/lib/your_app/hex/

$ rebar3 hex build

有关更多信息,请参阅 文档

发布

有两个提供程序可用于发布包,publishcut

默认情况下,publish 会构建并将您的包和文档推送到存储库。有关更多信息,请参阅 文档

$ rebar3 hex publish

cut 可用于提供一些关于版本控制和 Git 标签的其他功能。有关更多信息,请参阅 文档

$ rebar3 hex cut

无论哪种情况,这两个提供程序都将显示正在发布的内容的详细信息(哪些文件、版本、依赖项)并询问是否应继续,因此请务必仔细阅读输出并确保它正在发布您期望的内容。

管理包所有者

可以使用 hex owner 命令添加、删除和列出您是所有者的包的所有者。包也可以转移到 hexpm 上的其他注册用户。

$ rebar3 hex owner [add | remove | list | transfer] <package> <email>

有关更多信息,请参阅 文档

停用包

可以通过 retire 提供程序在 hexpm 上将包标记为已停用

$ rebar3 hex retire PACKAGE VERSION REASON --message

如果出现错误,也可以取消停用

$ rebar3 hex retire PACKAGE VERSION --unretire

有关更多信息,请参阅 文档

组织

rebar3_hex 支持通过 organization 提供程序使用组织。

只需将您的组织添加到全局 rebar.config(即 ~/.config/rebar3/rebar.config)或本地项目 rebar.config 中。

{hex, [{repos, [#{name => <<"hexpm:your_org">>}]}]}.

然后,您可以使用组织存储库进行身份验证。请确保您已首先使用主存储库进行身份验证

$ rebar3 hex auth    # make sure you're authenticated to the main repo first
$ rebar3 hex organization auth hexpm:your_org  # authenticate to the org

现在,您可以为您的组织生成、撤销和列出密钥。以下是如何生成用于 CI 的密钥的示例。

有关更多信息,请参阅 文档

用于 CI 的只读存储库密钥

如果您有私有组织或其他私有存储库,建议您使用特定于存储库的认证令牌从 CI 中读取存储库。要生成令牌

$ rebar3 hex organization auth hexpm:myrepo
Successfully authenticated to hexpm:myrepo

现在,您可以生成一个密钥用于组织的 CI。

$ rebar3 hex organization key hexpm:myrepo generate
abc123

然后在 CI 中使用任何可用的方法将环境变量设置为令牌,并在 CI 运行的开头添加此调用以将令牌添加到您的 rebar3 hex 配置中。下面我们将使用环境 REPO_KEY 作为示例。

$ rebar3 hex organization auth hexpm:myrepo --key $REPO_KEY

搜索 hexpm

search 提供程序可用于方便地在 hex.pm 上搜索包。

$ rebar3 hex search

进一步阅读

有关更多设置和使用说明,请参阅 hexpm 上的 发布包。有关所有可用提供程序的详细文档,请参阅 文档


上次修改时间:2024 年 10 月 23 日:修复包管理页面中的损坏链接。(d2b9b5c)