Skip to content

搭建npm私库 - npm私服 verdaccio 搭建

参考链接:

使用 verdaccio 搭建 npm 私库,Verdaccio是一个 Node.js创建的轻量的私有npm代理注册源(proxy registry)。

  1. 全局安装
$npm install -g verdaccio pm2
  1. 启动
bash
$pm2 start verdaccio 或者 $verdaccio

通过命令行启动的话,如果终端停止了,那我们的服务器也就停止了,因此一般我们通过pm2启动守护进程,pm2nodejs 进程管理的一个工具,这里不做缀叙,pm2 这种方法 更适合前端同学 或者 nodejs 同学的使用。

上面的两个命令执行之后,就可以访问你的私服了。启动成功可以进入http://localhost:4873/

  1. 搭建后的使用 - 发布组件 下面的 http://100.000.100.1:4873 指的是自己的 私服 IP地址,这里随便写的。 注册用户:
bash
$npm adduser --registry http://100.000.100.1:4873

输入账号、密码、邮箱 (这些都随便填[示例:admin@admin],但是要记住,下一步登录的时候 是需要这样的内容的)

登录用户:

bash
$npm login --registry http://100.000.100.1:4873

输入账号、密码、邮箱

npm publish 发布组件:

bash
$npm publish --registry http://100.000.100.1:4873

到这里就能看到你组件了

注意:1、当前私有仓库必须包含 package.json 文件 2、每次发布的时候,都需要使用npm version v1.x.x 更新版本,并且保证仓库是干净的

移除一个包:

bash
# 删除特定版本
$npm unpublish <package-name>@<version> -registry http://100.000.100.1:4873
# 删除整个包(谨慎使用)
$npm unpublish <package-name> --force -registry http://100.000.100.1:4873
  1. 基础使用命令 nrm 命令: nrm 是一个 npm 源管理器,允许你快速的在 npm 源 间切换
npm install -g nrm   # 安装
nrm ls   # 查看可选择源
nrm current   # 查看当前
nrm use <registry>   # 切换源
nrm add <registry> <url>   # 添加源,registry为源名,url为源地址
nrm del <registry>   # 删除源
nrm test npm   # 测试源的速度

pm2基本操作:

# pm2基本操作
pm2 start `which verdaccio`	  # 使用pm2启动应用
pm2 list					# 查看pm2列表项,即应用状态
pm2 logs					# 查看应用输入的日志
pm2 monit					# 查看当前通过pm2运行的进程的状态
pm2 describe verdaccio        # 查看应用的进程状态
pm2 restart verdaccio	      # 重启引用,用于修改配置以后重启项目
pm2 stop verdaccio | pid	  # 停止应用(以应用名或者pid都可以)
pm2 stop all 				 # 停止所有应用
pm2 delete verdaccio | pid 	  # 将应用从pm2列表中删除

发布&下载:

bash
# 客户端设置npm源
npm config get registry # 查看当前npm源
npm config set registry http://192.168.0.118:4873	# 将npm源设置为服务器ip+端口
# 注册用户并登录
npm adduser	# 根据提示输入用户名、密码、邮箱,进行注册
npm login 	# 用刚刚注册的用户名密码进行登录
npm whoami	# 查看当前登录的账号
# 创建一个包
mkdir npm-publish-test	# 包文件夹
cd npm-publish-test
npm init			   # npm初始化
# 发布包(在某个需要发布包的项目的根目录下运行)
npm publish
# 自动更新版本号
npm version patch  # 小修小改,如修复bug
npm version minor  # 新功能但不影响老功能
npm version major  # 大改,可能影响现有功能
  1. 常见问题解决 私服主题定制,比如我要换个头,换个脚,换一个 favicon 等,换成公司的或者自己的。请修改 verdaccio 的配置文件中的 web 字段。:

    • 配置文件位置在: /root/.config/verdaccio/config.yaml 或 verdaccio 的配置文件为 ~/.config/verdaccio/config.yaml

    注意:修改完配置得执行$pm2 restart verdaccio命令让配置文件生效.

    # Verdaccio 监听的主机和端口,重点,不配做这个就只本机能访问
    listen: 0.0.0.0:4873
    # 存储包的位置
    storage: ./storage
    # 配置上游镜像源的设置
    uplinks:
    taobao:
        url: https://registry.npmmirror.com/
    
    # 配置包的访问权限和范围
    packages:
    '@scope/*':
        access: $all
        publish: $authenticated
        proxy: taobao
    # Verdaccio 的身份验证设置
    auth:
    htpasswd:
        file: ./htpasswd
    # 配置 Verdaccio 中间件的设置
    middlewares:
    audit:
        enabled: true
    # 配置 Verdaccio 的日志记录设置
    logs:
    - { type: stdout, format: pretty, level: http }
    - { type: file, path: verdaccio.log, level: info }
    # 配置 Verdaccio 的 Web 界面设置
    web:
    title: Verdaccio
    logo: logo.png
    theme: default
    # 配置 Verdaccio 的安全设置
    security:
    api:
        jwt:
        sign:
            expiresIn: 7d
        verify:
            maxAge: 7d
    web:
        headers:
        X-Content-Type-Options: 'nosniff'
        X-Frame-Options: 'deny'
        X-XSS-Protection: '1; mode=block'

    修改结束后,需要重新启动下 verdaccio, 才能让配置文件生效:$pm2 restart verdaccio

  2. ddd

创作不易请尊重他人劳动成果,未经授权禁止转载!
Released under the MIT License.