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的主要内容,如果未能解决你的问题,请参考以下文章
npm私服工具verdaccio配置文件config.yaml详解(同sinopia配置文件)