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 任務實際發佈的內容,而不會有任何實際發佈套件或文件的風險。套件和文件的壓縮檔預設會寫入到 _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)