搭建npm私有鏡像倉庫,天下苦於npm build久矣

  • 2019 年 11 月 29 日
  • 筆記

前言

當你的研發團隊越來越大,或是你無法忍受node超慢的構建時你可以考慮繼續讀下去,給大家推薦一個基於Verdaccio相對較完整的解決方案。

由於環境的原因,我們直接去 npmjs.org 下載就不要考慮了,可以將npm config set registry=https://registry.npm.taobao.org 可以緩解一部分, 但是如果你有些自己公司訂製的npm包如何在公司內分享呢,這個時候你就需要一個npm私服了.

Verdaccio 是什麼

Verdaccio 是一個簡單的零配置的node.js輕量私有的npm代理倉庫。

verdaccion能做什麼

1. 快取npmjs.org倉庫

npm安裝緩慢大家都知道,可以使用它來減少延遲(大概「慢」的npmjs.org每個軟體包/版本僅連接一次)並提供有限的故障轉移(如果使用npmjs.org掛掉了,我們依然可以通過快取獲取到相應的包)

2. 私有倉庫

如果您想在公司中使用npm軟體包系統而又不將所有程式碼發送給公眾,請使用私有軟體包,就像使用公共軟體包一樣容易。

3. 鏈接多個倉庫

如果您在組織中使用多個npm倉庫,並且需要在一個項目中從多個來源獲取軟體包,則可以利用Verdaccio的上行鏈路功能,將多個倉庫鏈接起來並從一個端點獲取。

4. 覆蓋公共軟體包

如果要使用某個第三方軟體包的修改版本(例如,您發現了一個錯誤,但維護者尚未接受請求請求),則可以使用相同的名稱在本地發布該版本。 詳細請看這裡。

5. 端到端測試

事實證明,Verdaccio是一個輕量級倉庫,可以在幾秒鐘內啟動,對於任何CI來說都足夠快。 許多開放源程式碼項目都使用verdaccio進行端到端測試.

注: 功能3、4、5需要你自己去探索。

安裝

注: Verdaccio 支援多種安裝方式,甚至包含charts包

前置條件

1. Node版本

2. npm >=4.x or yarn

官方強烈建議使用最新的node包管理客戶端 > [email protected] | [email protected] | [email protected]

3. Web介面 支援 Chrome, Firefox, Edge, and IE11 browsers.

Docker-compose方式部署

可以直接參考我們歸檔的版本傳送門

是時候捨棄cnpm了,希望你可以享受verdaccio.

更多

參考鏈接

  1. https://medium.com/engenharia-noalvo/ways-to-have-your-private-npm-registry-and-a-final-diy-solution-eed001a88e74
  2. https://verdaccio.org/docs/en/what-is-verdaccio

Tags: