使用verdaccio 搭建私有npm 伺服器

2021-08-22 16:25:59 字數 2958 閱讀 9224

為什麼要搭建npm 伺服器

原因:

公司內部開發的私有包,統一管理,方便開發和使用,自然也可以使用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]

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

為什麼要搭建npm 伺服器 原因 公司內部開發的私有包,統一管理,方便開發和使用 安全性,由於公司內部開發的模組和一些內容並不希望其他無關人員能夠看到,但是又希望內部能方便使用 搭建方法 使用verdaccio verdaccio 是 sinopia 開源框架的乙個fork 但是由於sinopia ...

基於verdaccio搭建私有npm倉庫方案

前端的生態已經十分繁榮了,隨著需求越來越複雜,前端的應用也越來越大了,為了更好地服務解耦 團隊協作等原因,一般大型前端應用,都會將專案分成幾個服務來維護,而在這些服務中,一般都會存在大量相同元件,特別是ui部分的元件,很顯然這些元件我們不應該在每個服務都copy乙份,這樣如果我要增加或更新某個元件,...

設定本地私有npm包 verdaccio

安裝 verdaccio npm install g verdaccio 啟動服務 verdaccio 對映私有庫 zpm 定義的私有源名稱 新增使用者 localhost 需要改為你的 電腦ip位址 接下來會告訴你輸入 使用者名稱,密碼,郵箱,一定要記好了,接下來還會用到 使用私有源 nrm us...