1.NPM 简介
一个基于Node.js的轻量级私有仓库。
- 包的资源库,它执行CommonJS Compliant Package Registry specification 来阅读包信息
- 提供与 npm clients (yarn/npm/pnpm) 兼容的API
- Verdaccio 表示意大利中世纪晚期fresco 绘画中流行的一种绿色的意思。
2.安装部署
2.1.环境 VM16
CentOS7_64_Docker_Node1
2.2.前提
- 查看系统版本
uname -a
- 安装最新的nodejs
- 下载稳定版的nodejs (https://nodejs.org/en/download/)
- 将下载的文件,放到
/opt
文件夹下
2.3.安装 nodejs
cd /opt
# 解压
tar -zxvf node-v16.14.2-linux-x64.tar.xz
# 改名
mv node-v16.14.2-linux-x64 nodejs
# 确认nodejs下bin目录是否有node和npm文件,如果有执行软连接,如果没有重新下载执行上边步骤
ll nodejs/bin/
# 建立软连接,变为全局 [去掉,改为系统环境变量]
# ln -s /opt/nodejs/bin/* /usr/local/bin/
# 添加进系统环境变量
vim /etc/profile
## 在文件最后添加
export NODEJS=/opt/nodejs
export PATH=$NODEJS/bin:$PATH
# 环境变量生效
source /etc/profile
# 检验nodejs
node -v
# 安装插件【选】
npm i -g pnpm
npm i -g yarn
# 修改安装源
npm config set registry http://localhost:4873/
2.4.安装 verdaccio
# 安装
npm i -g verdaccio
# 查看verdaccio信息
verdaccio
## 输出
warn --- config file - /root/.config/verdaccio/config.yaml
warn --- Plugin successfully loaded: verdaccio-htpasswd
warn --- Plugin successfully loaded: verdaccio-audit
warn --- http address - http://localhost:4873/ - verdaccio/5.8.0
1)配置 verdaccio
cd /root/.config/verdaccio
storage: /opt/verdaccio/storage
plugins: /opt/verdaccio/plugins
web:
title: Verdaccio
i18n:
web: zh-CN
auth:
htpasswd:
file: ./htpasswd
uplinks:
npmjs:
url: https://registry.npmjs.org/
taobao:
url: https://registry.npm.taobao.org/
packages:
'@*/*':
access: $all
publish: $authenticated
unpublish: $authenticated
proxy: npmjs
'**':
access: $all
publish: $authenticated
unpublish: $authenticated
proxy: npmjs
server:
keepAliveTimeout: 60
middlewares:
audit:
enabled: true
logs: { type: stdout, format: pretty, level: http }
# 监听的端口,让同一网络下的所有计算机访问
listen: 0.0.0.0:4873
2)删除包
cd /opt/verdaccio/storage
ls
rm -rf xxx
2.4.开放服务器端口
firewall-cmd --zone=public --add-port=4873/tcp --permanent
firewall-cmd --reload
2.5.安装 pm2 守护进程管理器
npm i -g pm2
1)pm2 命令
# 启动
pm2 start /opt/nodejs/bin/verdaccio
# 重启
pm2 restart /opt/nodejs/bin/verdaccio
# 重载
pm2 reload /opt/nodejs/bin/verdaccio
# 停止
pm2 stop /opt/nodejs/bin/verdaccio
# 删除
pm2 delete /opt/nodejs/bin/verdaccio
# 展示
pm2 show /opt/nodejs/bin/verdaccio
# 列表
pm2 list
2.6.npm 命令
npm set registry http://localhost:4873
npm adduser --registry http://localhost:4873
npm publish
npm publish --registry http://localhost:4873