搭建私有npm私庫(使用verdaccio)

2022-03-13 12:45:51 字數 2835 閱讀 1565

為什麼要搭建npm 伺服器

原因:

公司內部開發的私有包,統一管理,方便開發和使用

安全性,由於公司內部開發的模組和一些內容並不希望其他無關人員能夠看到,但是又希望內部能方便使用

搭建方法 使用verdaccio

verdaccio 是 sinopia 開源框架的乙個fork ,但是由於sinopia 兩年前就已經沒有人維護了,由於網上搜的都是sinopia,但我實際使用了一波後,坑不要太多,哭死…….. 而且由於沒人維護,所有bug ,什麼的自己去看原始碼解決吧, 所以果斷棄坑, 找到了這個verdaccio

使用npm 全域性安裝即可

npm install –global verdaccio

安裝完成後直接輸入 verdaccio 命令即可執行

verdaccio 

執行示例 

後面的yaml 是預設的配置檔案,4873埠表示預設埠,現在我們可以通過修改預設的配置檔案來符合我們的需求.

verdaccio的全部配置

預設配置如下圖所示

# #號後面是注釋

# 所有包的快取目錄

storage: ./storage

# 外掛程式目錄

plugins: ./plugins

#開啟web 服務,能夠通過web 訪問

web:

# webui is enabled as default, if you want disable it, just uncomment this line

#enable: false

title: verdaccio

#驗證資訊

auth:

htpasswd:

# 使用者資訊儲存目錄

file: ./htpasswd

# maximum amount of users allowed to register, defaults to "+inf".

# you can set this to -1 to disable registration.

#max_users: 1000

# a list of other known repositories we can talk to

#公有倉庫配置

uplinks:

npmjs:

url:

packages:

'@*/*':

# scoped packages

access: $all

publish: $authenticated

#** 表示沒有的倉庫會去這個npmjs 裡面去找 ,

#npmjs 又指向 ,就是上面的 uplinks 配置

proxy: npmjs

'**':

# 三種身份,所有人,匿名使用者,認證(登陸)使用者

# "$all", "$anonymous", "$authenticated"

#是否可訪問所需要的許可權

access: $all

#發布package 的許可權

publish: $authenticated

# 如果package 不存在,就向**的上游服務發起請求

proxy: npmjs

# to use `npm audit` uncomment the following section

middlewares:

audit:

enabled: true

# 監聽的埠 ,重點, 不配置這個,只能本機能訪問

listen: 0.0.0.0:4873

# log settings

logs:

- #-

#當前npm 服務指向 本地 

# 註冊使用者 

按照提示輸入username 和 password,email

輸入後就註冊完成,

#檢視當前使用者,是否是註冊使用者. 

npm who am i

最後一步就是建立乙個資料夾,按照npm publish 的標準格式,建立乙個私有的package

# 發布包 

就成功發布了乙個私有的包,

uplinks:

npmjs:

url:

packages:

'@*/*':

#npmjs 又指向 ,就是上面的 uplinks 配置

proxy: npmjs

#常用的倉庫位址

npm ----

cnpm ---

taobao -

nj -----

rednpm -

npmmirror

edunpm -

由於考慮到時常會切換倉庫**,我是用了nrm ,乙個倉庫管理器,實際上就是 簡化以下命令

npm set registry [url]

**

使用verdaccio 搭建私有npm 伺服器

為什麼要搭建npm 伺服器 原因 公司內部開發的私有包,統一管理,方便開發和使用,自然也可以使用npm 的付費服務,原諒我們的窮 安全性,由於公司內部開發的模組和一些內容並不希望其他無關人員能夠看到,但是又希望內部能方便使用 搭建方法 使用verdaccio verdaccio 是 sinopia ...

npm私有倉庫搭建

為了使公司內部前端公共 更方便的共享,決定使用npm私有倉庫,以前用的公司內部搭建的gitlab,對於前端來說不夠高大上。私有倉庫可先的方案有多種 此文選擇的第5種 購買npm官方私有倉庫服務 首先要花錢,而且花了錢也沒有好的體驗,因為伺服器是在國外的,速度讓人捉急,並且 畢竟是要儲存在別人手裡。c...

搭建前端私有npm雜記

隨著前端隊伍越來越壯大,專案間共享 就變得尤為重要。常用的框架 類庫沒必要在每個專案都放乙份,團隊內部產出的公共模組也需要有合理的共享機制。現在,用npm管理前端 已經是業界趨勢。樓主嘗試用私有npm 資源管理系統的方式搭建起一套前端資源倉庫,用以在公司內部託管公共 並為開發環境提供 源。本文記錄一...