跳至主要内容

[note] Verdaccio

Verdaccio @ Github

基本使用

Verdaccio 是一個簡單輕量化本機端的 npm-registry。

$ npm install --global verdaccio
$ verdaccio # 啟動 npm-registry,預設 localhost:4873

進到 localhost:4873 後根據指令操作:

$ npm adduser --registry http://localhost:4873/  # 建立 user

從 verdaccio 安裝套件:

$ npm install --registry http://localhost:4873 <package-name>

建立 .npmrc,讓它知道要推到的是 local 的 npm:

// .npmrc
registry=http://localhost:4873

或者透過 CLI:

$ npm publish --registry 'http://localhost:4873/'
$ lerna publish from-package --registry 'http://localhost:4873'

如果要移除某個套件:

$ npm unpublish --registry http://localhost:4873/ --force [package-name]

訣竅

413 Payload Too Large:設定 Max Body Size

Verdaccio 預設可以上傳的 package size(Max Body Size)是 10mb,如果 package 超過這個大小會 publish 上去,顯示 413 Payload Too Large 的錯誤:

image-20230727181809055

這時候可以在 Verdaccio 的 config 檔中透過 max_body_size 來把可以上傳的檔案大小加大。

JavaScript heap out of memory:調整 Node 可以使用的記憶體

server 在執行 Verdaccio 時,可能會碰到 Node 能使用的記憶體不夠的問題(不一定是裝置本身的記憶體不夠,而是 Node 能使用的不夠):

image-20230727182834212

這時候可以透過設定 NODE_OPTIONS 增加 Node 可以使用的記憶體空間:

image-20230727182355787

CPU 或記憶體不足

如果發現 CPU 或 memory 不足,就把機器開大:

image-20230727182858324

Giscus