devops - 在企业内部使用 verdaccio 搭建npm私有源
verdaccio 是一个基于nodejs的轻量化的私有源.
在远程服务器的操作:
1. 安装和配置verdaccio
- 全局安装verdaccio
npm install -g verdaccio
- 配置文件路径
~/.config/verdaccio/config.yaml
- 主要配置内容解释
auth:
htpasswd:
file: ./htpasswd
# 如果需要禁止其他人注册可将值设为-1
max_users: 1000
# 配置其他源地址,用于proxy的设置,在本地私有库无法找到相关包的时候进行访问
uplinks:
npmjs:
url: https://registry.npmjs.org/
yarn:
url: https://registry.yarnpkg.com/
tencent:
url: https://mirrors.cloud.tencent.com/npm/
cnpm:
url: https://r.cnpmjs.org/
taobao:
url: https://registry.npmmirror.com/
npmMirror:
url: https://skimdb.npmjs.com/registry/
# 配置包的访问和发布权限 ($all:所有人, $anonymouse: 非注册用户, $authenticated: 注册用户)
packages:
# 范围包的配置
'@*/*':
# 访问权限
access: $all
# 发布权限
publish: $authenticated
# 撤销发布
unpublish: $authenticated
# 代理配置最好为国内源速度更快
proxy: taobao
# 普通包的配置
'**':
# 访问权限
access: $all
# 发布权限
publish: $authenticated
# 撤销发布
unpublish: $authenticated
# 代理配置最好为国内源速度更快
proxy: taobao
# 配置远程访问
listen: 0.0.0.0:4873
2. 运行verdaccio
- 直接运行verdaccio
verdaccio
- 使用 pm2 运行 verdaccio (推荐)
pm2 start verdaccio
在本地机器的操作:
1. 使用nrm管理源 https://www.cnblogs.com/xiaodi-js/p/15672303.html
- 添加源
nrm add verdaccio http://192.168.0.105:4873
- 切换源
nrm use verdaccio
2. 创建用户并登录
- 创建用户
npm adduser
- 登录
npm login
- 测试是否已登录
npm who am i
3. 创建依赖包并发布
- 创建测试项目 'mytest'
mkdir -p mytest && cd mytest && npm init
touch index.js && echo 'console.log("mytest");' > index.js
- 发布依赖包
npm publish
4. 创建测试项目并安装依赖包
- 创建测试项目 'test'
mkdir -p test && cd test && npm init
- 安装依赖包 'mytest'
npm install mytest --save