npm创建私服sinopia和verdaccio

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了npm创建私服sinopia和verdaccio相关的知识,希望对你有一定的参考价值。

参考技术A 一、安装

启动

外网访问配置
通过在config.yaml中修改服务默认的监听端口,从而可以通过外网访问 sinopia 仓库。监听端口后必须以http://[IP | 域名]:[端口]的形式来访问

二、客户端配置
nrm:npm镜像地址管理工具

添加sinopia仓库地址

切换私有仓库

三、创建用户与发布包
执行adduser之后,填写用户名密码

登陆

启动

配合verdaccio使用
pm2 :进程守护管理工具
why:verdaccio命令可以启动和使用verdaccio,我们用kill -9 node杀死进程,如果用pm2来使用pm2对verdaccio进程进行托管启动。尝试通过kill -9去杀verdaccio的进程发现杀了之后又自动启起来。保证这个进程永远都活着

npm私服工具verdaccio配置文件config.yaml详解(同sinopia配置文件)

配置文件原文:

storage: ./storage
auth:
htpasswd:
   file: /.htpasswd
uplinks:
npmjs:
   url: http://registry.npmjs.org/
packages:
'@*/*':
   access: $all
   publish: $authenticated
'*':
   access: $all
   publish: $authenticated
   proxy: npmjs
logs:
- type: stdout, format: pretty, level: http
listen: 0.0.0.0:4873
http_proxy: http://代理服务器ip:8080
https_proxy: http://代理服务器ip:8080

常用配置详解:

  • storage: 仓库保存的地址,publish时仓库保存的地址。
  • auth: htpasswd file:账号密码的文件地址,初始化时不存在,可指定需要手工创建。
    max_users:默认1000,为允许用户注册的数量。
    为-1时,不允许用户通过npm adduser注册。
    但是,当为-1时,可以通过直接编写htpasswd file内容的方式添加用户。
  • 语法:用户名:SHA哈希加密的字符=:autocreated 时间
  • 加密算法:SHA1哈稀之后再转换成 Base64 输出就好
  • uplinks: 配置上游的npm服务器,主要用于请求的仓库不存在时到上游服务器去拉取。
  • packages: 配置模块。access访问下载权限,publish包的发布权限。
    格式如下:
    scope:
    权限:操作
    scope:两种模式
    • 一种是 @/ 表示某下属的某项目
    • 另一种是 * 匹配项目名称(名称在package.json中有定义)
  • 权限:
    • l access: 表示哪一类用户可以对匹配的项目进行安装(install)
    • l publish: 表示哪一类用户可以对匹配的项目进行发布(publish)
    • l proxy: 如其名,这里的值是对应于 uplinks 的名称,如果本地不存在,允许去对应的uplinks去取。
  • 操作:

    • l $all 表示所有人(已注册、未注册)都可以执行对应的操作
    • l $authenticated 表示只有通过验证的人(已注册)可以执行对应操作,注意,任何人都可以去注册账户。
    • l $anonymous 表示只有匿名者可以进行对应操作(通常无用)
    • l 或者也可以指定对应于之前我们配置的用户表 htpasswd 中的一个或多个用户,这样就明确地指定哪些用户可以执行匹配的操作
      听端口和主机名。
      • localhost:4873      #默认
      • 0.0.0.0:4873       #在所有网卡监听
  • 代理

#http_proxy: http://something.local/  #http代理
#https_proxy: https://something.local/  #https代理
#no_proxy: localhost,127.0.0.1  #不适用代理的iP

修改了配置文件后,运行命令
$ verdaccio -c config.yml

以上是关于npm创建私服sinopia和verdaccio的主要内容,如果未能解决你的问题,请参考以下文章

基于sinopia快速搭建npm私服

基于sinopia快速搭建npm私服

npm私服工具verdaccio配置文件config.yaml详解(同sinopia配置文件)

使用 Nexus3 Repository Manager 搭建 npm 私服

NPM私有服务器搭建方法——sinopia

用sinopia搭建内部npm服务