项目简介
本项目借助 Verdaccio 搭建了一个 npm 私有源管理系统,可助力团队或公司安全地共享和管理代码。Verdaccio 是轻量级的 npm 私有源管理工具,具备自定义配置、插件扩展及多种部署方式,能适应不同团队的需求。
项目的主要特性和功能
- 安全性:保障仅授权用户可访问和发布包,避免敏感信息泄露和未经授权的篡改。
- 灵活性:支持自定义配置,可按需设置访问权限、存储路径等参数,满足特定项目管理需求。
- 多种部署方式:支持 Node.js 全局安装、局部安装、Docker 部署以及云服务商一键部署,便于快速搭建私有 npm 源。
- 包管理:支持发布、删除、更新私有 npm 包,还提供类似 npmjs 的 Web 界面,方便用户查看和管理包信息。
- 代理模式:默认开启 npmjs 代理模式,私有源中无的包会自动从 npmjs 下载并缓存,提升安装效率。
安装使用步骤
1. 部署 Verdaccio
全局安装
sh
npm i -g verdaccio
安装完成后,执行 verdaccio
启动服务。
局部安装
在项目目录下创建 package.json
文件,并添加以下内容:
json
{
"name": "npm-proxy-verdaccio",
"scripts": {
"start": "verdaccio --config ./config.yaml"
},
"dependencies": {
"verdaccio": "^5.30.3"
}
}
执行 npm start
启动服务。
Docker 部署
创建 docker-compose.yml
文件,内容如下:
```yaml
version: "3.1"
name: npm-proxy-verdaccio
services:
verdaccio:
image: verdaccio/verdaccio
container_name: "verdaccio"
networks:
- node-network
environment:
- VERDACCIO_PORT=4873
ports:
- "4873:4873"
volumes:
- "./storage:/verdaccio/storage"
- "./config:/verdaccio/conf"
- "./plugins:/verdaccio/plugins"
networks:
node-network:
driver: bridge
``
执行
docker compose up -d` 启动服务。
2. 注册用户
执行以下命令注册用户:
sh
npm adduser --registry http://0.0.0.0:4873/
按照提示输入用户名、密码和邮箱。
3. 发布私有 npm 包
在项目目录下创建 package.json
文件,并添加以下内容:
json
{
"name": "test-pkg",
"version": "0.0.0",
"description": "",
"main": "index.js",
"scripts": {},
"keywords": [],
"files": ["index.js"],
"author": "",
"license": "ISC",
"publishConfig": {
"access": "public",
"registry": "http://0.0.0.0:4873/"
}
}
执行 npm publish
发布包。
4. 管理 npm 包
通过 Verdaccio 的 Web 界面或直接操作 storage
目录下的文件进行包的管理,如删除、更新等操作。
5. 项目使用私有源
全量切换
在 .npmrc
文件中添加:
txt
registry=http://0.0.0.0:4873/
部分切换
在 .npmrc
文件中指定特定包的注册源:
sh
xxxx:registry=http://xxxx
@xxx:registry=http://xxxx
下载地址
点击下载 【提取码: 4003】