簡體   English   中英

將 Angular 庫發布到私有 Verdaccio npm 存儲庫

[英]Publish Angular library to private Verdaccio npm repository

我有一個私有的Verdaccio npm 存儲庫。

我配置了使用 htppasswd 文件的authentification

auth:
  htpasswd:
    file: /verdaccio/conf/htpasswd
    max_users: -1

所以現在沒有人可以做npm add ...但必須使用npm login ...

登錄后,我可以使用npm publish發布我的庫

但有幾點我不明白:

  • npm login正在問我一封電子郵件。 但有什么意義呢? 我在發布的包中沒有找到該電子郵件的任何痕跡。
  • npm login后,我的 .npmrc 文件中會生成一個令牌。 它有有效期嗎?
  • 發表后,在 Verdaccio 中,我將匿名視為author name 我發現“放置”我的名字的唯一解決方案是在package.json添加一個作者標簽。 但是如果我們是 3 個人在那個圖書館工作,我們每次都必須改變我們的名字? 有沒有辦法(在服務器上)將 htpasswdd 與作者姓名/電子郵件相關聯?

這里是 Verdaccio 核心維護者。 我會盡力回答你所有的問題。

npm login 正在問我一封電子郵件。 但有什么意義呢? 我在發布的包中沒有找到該電子郵件的任何痕跡。

Verdaccio 不需要 email ,但不幸的是npmjs.org需要,所以只需寫入任何值並跳過該步驟,我們無法做任何事情來避免這種情況。

npm 登錄后,我的 .npmrc 文件中會生成一個令牌。 它有有效期嗎?

這取決於您使用的身份驗證,默認情況下令牌永遠不會過期

auth:
  htpasswd:
    file: /verdaccio/conf/htpasswd

但是如果您想使令牌過期,則需要添加Verdaccio 4 中引入安全性新屬性

security:
  api:
    jwt:
      sign:
        expiresIn: 29d

上面的示例將在 29 天后使所有令牌過期,並覆蓋默認行為,令牌與 JWT 兼容並共享其所有屬性和好處。

發表后,在 Verdaccio 中,我將匿名視為作者姓名。 我發現“放置”我的名字的唯一解決方案是在 package.json 中添加一個作者標簽。 但是如果我們是 3 個人在那個圖書館工作,我們每次都必須改變我們的名字? 有沒有辦法(在服務器上)將 htpasswdd 與作者姓名/電子郵件相關聯?

作者只能是一個,但您有更多選擇,貢獻者維護者 只需將它們添加到package.json ,如下所示。

在此處輸入圖片說明

結果將是 Verdaccio UI 中的這個。

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM