Verdaccio · 一个轻量的私有npm proxy registry,支持所有主流的 npm 客户端
安装
npm安装
npm install --global verdaccio
复制代码
yarn安装
yarn global add verdaccio
复制代码
基本使用
安装完成后输入 verdaccio 就可以跑起来了,后面我们pm2来统一管理程序,可以看出程序的配置文件路径,以及服务的地址
$> verdaccio
warn --- config file - /home/.config/verdaccio/config.yaml
warn --- http address - http://localhost:4873/ - verdaccio/3.0.0
复制代码
使用PM2管理进程
安装
npm install -g pm2
复制代码
启动 - pm2 start verdaccio, 表格当中可以看出当前verdaccio服务在进程的pid和在pm2中的id,以及状态
pm2 start verdaccio
chenpan@chenpandeMacBook-Pro ~/Desktop/verdaccio pm2 start verdaccio
[PM2] Applying action restartProcessId on app [verdaccio](ids: 0)
[PM2] [verdaccio](0) ✓
[PM2] Process successfully started
┌───────────┬────┬─────────┬──────┬──────┬────────┬─────────┬────────┬─────┬──────────┬─────────┬──────────┐
│ App name │ id │ version │ mode │ pid │ status │ restart │ uptime │ cpu │ mem │ user │ watching │
├───────────┼────┼─────────┼──────┼──────┼────────┼─────────┼────────┼─────┼──────────┼─────────┼──────────┤
│ verdaccio │ 0 │ N/A │ fork │ 3708 │ online │ 3 │ 0s │ 0% │ 7.3 MB │ chenpan │ disabled │
└───────────┴────┴─────────┴──────┴──────┴────────┴─────────┴────────┴─────┴──────────┴─────────┴──────────┘
Use `pm2 show <id|name>` to get more details about an app
复制代码
查看进程详细信息 -pm2 show +id/name
chenpan@chenpandeMacBook-Pro ~/Desktop/verdaccio pm2 show 0
Describing process with id 0 - name verdaccio
┌───────────────────┬──────────────────────────────────────────────┐
│ status │ online │
│ name │ verdaccio │
│ version │ N/A │
│ restarts │ 3 │
│ uptime │ 3m │
│ script path │ /usr/local/bin/verdaccio │
│ script args │ N/A │
│ error log path │ /Users/chenpan/.pm2/logs/verdaccio-error.log │
│ out log path │ /Users/chenpan/.pm2/logs/verdaccio-out.log │
│ pid path │ /Users/chenpan/.pm2/pids/verdaccio-0.pid │
│ interpreter │ node │
│ interpreter args │ N/A │
│ script id │ 0 │
│ exec cwd │ /Users/chenpan/Desktop/verdaccio │
│ exec mode │ fork_mode │
│ node.js version │ 10.15.3 │
│ node env │ N/A │
│ watch & reload │ ✘ │
│ unstable restarts │ 0 │
│ created at │ 2019-06-11T05:06:31.066Z │
└───────────────────┴──────────────────────────────────────────────┘
Actions available
┌────────────────────────┐
│ km:heapdump │
│ km:cpu:profiling:start │
│ km:cpu:profiling:stop │
│ km:heap:sampling:start │
│ km:heap:sampling:stop │
└────────────────────────┘
Trigger via: pm2 trigger verdaccio <action_name>
Code metrics value
┌────────────────────────┬───────────┐
│ Heap Size │ 40.84 MiB │
│ Heap Usage │ 84.85 % │
│ Used Heap Size │ 34.65 MiB │
│ Active requests │ 0 │
│ Active handles │ 4 │
│ Event Loop Latency │ 3.69 ms │
│ Event Loop Latency p95 │ 5.92 ms │
└────────────────────────┴───────────┘
Divergent env variables from local env
┌────────┬─────┐
│ OLDPWD │ N/A │
└────────┴─────┘
Add your own code metrics: http://bit.ly/code-metrics
Use `pm2 logs verdaccio [--lines 1000]` to display logs
Use `pm2 env 0` to display environement variables
Use `pm2 monit` to monitor CPU and Memory usage verdaccio
复制代码
客户端使用
- 发布流程:按照下列步骤输入用户名字,密码,邮箱;然后发布即可
npm adduser --registry http://localhost:4873/
npm publish --registry http://localhost:4873/
复制代码
- 拉取流程:安装nrm并配置好,拉取本地包,如果本地没有,默认从https://registry.npmjs.org/拉取
安装nrm
npm install -g nrm
nrm add verdaccio http://172.24.108.167:4873 //添加一个名为verdaccio的地址
nrm ls //查看地址
nrm use +name //切换地址
npm install ....
复制代码
配置参数
输入以下命令,可以看到有两个文件,一个目录,config.yaml 用于存放服务配置文档,htpasswd存放账户信息,storage目录存放发布上来的包
chenpan@chenpandeMacBook-Pro ~ $HOME/.config/verdaccio
chenpan@chenpandeMacBook-Pro ~/.config/verdaccio ll
total 16
-rw-r--r-- 1 chenpan staff 2.2K 6 11 10:43 config.yaml
-rw-r--r-- 1 chenpan staff 60B 6 10 11:11 htpasswd
drwxr-xr-x 4 chenpan staff 128B 6 11 10:39 storage
复制代码