使用 verdaccio 搭建本地 npm 私有仓库
功能描述:在本地使用 verdaccio 搭建一个个人 npm 私有仓库,通过 http://127.0.0.1:4873/ 访问、上传、下载 npm 依赖包等。
一、安装配置 verdaccio
- 全局安装 verdaccio
npm install -g verdaccio
- 启动 verdaccio
verdaccio
启动之后可以看到
warn --- config file - /root/.config/verdaccio/config.yam
warn --- Plugin successfully loaded: verdaccio-htpasswd
warn --- Plugin successfully loaded: verdaccio-audit
warn --- http address - http://localhost:4873/ - verdaccio/5.11.0
本地打开 http://localhost:4873/ 界面如下,就证明启动成功了
- 配置 IP 访问方式
在 - /root/.config/verdaccio/config.yam 里的末尾添加以下配置,保存之后打开 http://127.0.0.1:4873/ 正常访问即可。
listen: 0.0.0.0:4873
二、创建依赖包
- 在当前路径创建一个依赖包文件
npm-registry-test1
(在终端操作)
# 创建 npm-registry-test1 文件夹
mkdir npm-registry-test1
# 进入该项目文件路径
cd npm-registry-test1
# 初始化项目
npm init -y
- 在当前项目路径下 新建一个
index.js
测试文件
exports.test = function(){
console.log('TEST MODULES')
}
最终文件结构如下:
三、上传依赖包
- 在终端登录注册账号
# 无账号用户
npm adduser --registry http://127.0.0.1:4873
# 有账号用户
npm login --registry http://127.0.0.1:4873
- 发布依赖包,结果如下:
npm publish --registry http://127.0.0.1:4873
# 取消依赖包发布操作
npm unpublish npm-registry-test1 --registry http://127.0.0.1:4873 --force
- 在项目中安装依赖包
npm install npm-registry-test1 --registry http://127.0.0.1:4873
四、其它
问题1:verdaccio 设置中文
问题2:verdaccio 进程管理
在终端执行 verdaccio
命令是可以启动 verdaccio, 但是有一个弊端:当关闭该终端的时候,该进程也会结束。但是我们部署在服务器上时,要求该进程要在后台一直启动着。解决方案如下:
# 全局安装 pm2
npm install pm2 -g
# 使用 pm2 启动 verdaccio
pm2 start verdaccio