littlebot
Published on 2025-03-31 / 0 Visits
0

【源码】基于 Verdaccio 的 npm 私有源管理系统

项目简介

本项目借助 Verdaccio 搭建了一个 npm 私有源管理系统,可助力团队或公司安全地共享和管理代码。Verdaccio 是轻量级的 npm 私有源管理工具,具备自定义配置、插件扩展及多种部署方式,能适应不同团队的需求。

项目的主要特性和功能

  1. 安全性:保障仅授权用户可访问和发布包,避免敏感信息泄露和未经授权的篡改。
  2. 灵活性:支持自定义配置,可按需设置访问权限、存储路径等参数,满足特定项目管理需求。
  3. 多种部署方式:支持 Node.js 全局安装、局部安装、Docker 部署以及云服务商一键部署,便于快速搭建私有 npm 源。
  4. 包管理:支持发布、删除、更新私有 npm 包,还提供类似 npmjs 的 Web 界面,方便用户查看和管理包信息。
  5. 代理模式:默认开启 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】