跳到主要內容
版本:9.x

pnpm 發佈

將套件發佈到註冊表中。

pnpm [-r] publish [<tarball|folder>] [--tag <tag>]
[--access <public|restricted>] [options]

工作空間 內發佈套件時,工作空間根目錄的 LICENSE 檔案會與套件一起封裝(除非套件有自己的授權)。

在發佈前,你可以使用 package.json 中的 publishConfig 欄位覆寫一些欄位。你也可以使用 publishConfig.directory 來自訂發佈的子目錄(通常使用第三方建置工具)。

以遞迴方式執行此指令(pnpm -r publish)時,pnpm 會發佈所有尚未發佈到註冊表的版本套件。

選項

--recursive, -r

發佈工作區中的所有套件。

--json

以 JSON 格式顯示資訊。

--tag <標籤>

使用指定的標籤發佈套件。預設情況下,pnpm publish 會更新 latest 標籤。

例如

# inside the foo package directory
pnpm publish --tag next
# in a project where you want to use the next version of foo
pnpm add foo@next

--access <public|restricted>

告訴註冊表發佈的套件應該是公開的還是受限的。

--no-git-checks

不要檢查目前的 branch 是否是您的發佈 branch,乾淨且與遠端同步。

--publish-branch <branch>

  • 預設值:mastermain
  • 類型:字串

用於發佈最新變更的主要儲存庫分支。

--force

即使套件的目前版本已在註冊表中找到,也嘗試發佈套件。

--report-summary

將已發佈套件的清單儲存到 pnpm-publish-summary.json。當使用其他工具報告已發佈套件的清單時很有用。

pnpm-publish-summary.json 檔案範例

{
"publishedPackages": [
{
"name": "foo",
"version": "1.0.0"
},
{
"name": "bar",
"version": "2.0.0"
}
]
}

--dry-run

執行發佈會執行的所有動作,但實際上不會發佈到註冊表。

--otp

在發佈需要雙重驗證的套件時,此選項可以指定一次性密碼。

--filter <套件選擇器>

進一步瞭解篩選。

組態

您也可以在 .npmrc 檔案中設定 git-checkspublish-branch 選項。

例如

.npmrc
git-checks=false
publish-branch=production

生命週期指令碼

  • prepublishOnly
  • prepublish
  • prepack
  • prepare
  • postpack
  • publish
  • postpublish