工具
- verdaccio
- nrm
- pm2
特點
verdaccio
的特點:
- 不同步拉取npm庫,占據大量硬盤,沒有硬盤被撐爆的問題;
- 安裝配置極其簡單,不需要數據庫;
- 支持配置上游registry配置,拉取即緩存;
- 支持forever及pm2守護進程管理;
- 私有npm package 管理
- 支持 docker 等應用容器
verdaccio
是上一個 sinopia
的交叉分支。
安裝 verdaccio
npm i verdaccio -g
安裝好后,執行 verdaccio
即可以看到本地 NPM
的web管理界面。
更換 registry
不推薦
npm config set registry http://
推薦
npm i nrm -g
nrm list | nrm ls
nrm add [name] [http://url]
nrm use [name]
nrm del [name]
創建NPM賬號
npm adduser | npm adduser --registry http:// localhost:4873 /
username:***
password:***
其它用戶相關命令:
npm login #登陸
npm logout #退出
npm whoami #查看當前用戶
發布package
npm publish
升級版本號
npm version patch #升級補丁版本號
npm version minor #升級副版本號
npm version major #升級主版本號
verdaccio - profile
verdaccio
的配置文件是默認存放在用戶目錄中的,在window上其路徑是:~\Users\Administrator\.config\verdaccio
- storage : 存放 npm包的目錄。
- config.yaml :
verdaccio
的配置文件 - htpasswd : 用於保存注冊的用戶。
config.yaml說明
##設置NPM包的存放目錄
storage: ./storage
# 配置WEB UI界面
web :
title : '搭建私有NPM'
#logo : logo.png
## 設置用戶驗證的文件。
auth:
htpasswd:
file: ./htpasswd
max_users: 1000 #默認為1000,改為-1,禁止注冊
# 設置其它的npm注冊源(registry)
uplinks:
npmjs:
url: https://registry.npmjs.org/
#配置權限管理
packages:
'@*/*':
#表示哪一類用戶可以對匹配的項目進行安裝 【$all 表示所有人都可以執行對應的操作,$authenticated 表示只有通過驗證的人可以執行對應操作,$anonymous 表示只有匿名者可以進行對應操作(通常無用)】
access: $all
#表示哪一類用戶可以對匹配的項目進行發布
publish: $authenticated
'*':
#表示哪一類用戶可以對匹配的項目進行安裝
access: $all
#表示哪一類用戶可以對匹配的項目進行發布
publish: $authenticated
# 如果一個npm包不存在,它會去詢問設置的代理。
proxy: npmjs
# 日志輸出設置
logs:
- {type: stdout, format: pretty, level: http}
#- {type: file, path: verdaccio.log, level: info}
#修改監聽的端口
#listen: 0.0.0.0:4873
PM2啟動 verdaccio
pm2 start verdaccio
還需要...
- 在服務器上搭建
- 按需進行用戶權限分組?
- Nginx代理