使用verdaccio搭建私有npm仓库
verdacico官网
https://verdaccio.org/zh-CN/docs/setup-npm
verdacico安装前准备
确保电脑已安装node.js
步骤一:输入node -v 验证
步骤二:输入npm -v 验证
外网安装verdacico(系统使用Window)
步骤一:通过npm安装verdacico
npm install -g verdaccio
verdaccio -v
备注:若报错参考安装解决问题一
步骤二:启动verdacico
verdacico
浏览器输入http://localhost:4873/ (默认的地址,verdaccio)
安装完成!
步骤三:修改npm代理仓库(建议用nrm)
根据需要修改npm仓库
npm set registry http://ip:8473
这里我用的是本机ip,ip根据服务器的ip自行修改
备注:个人认为根据需求变动,若是你要在外网下载npm包会导致下载失效
步骤四:查看代理的仓库配置(根据需要执行)
npm config list
这里我们可以看到我的淘宝镜像仓库变成了本地仓库,通过步骤三。
步骤五:添加用户
npm adduser --registry http://localhost:4873/
输入用户名,密码,邮箱,用户添加完毕
步骤六:查看当前用户
npm who am i --registry http://localhost:4873/
弹出创建用户名创建完成
步骤七:verdacico修改配置
找到本机安装verdacico位置
npm root -g
storage代表上传文件存储的地址,根据需要自行配置
末尾添加listen: 0.0.0.0:4873(这里外网如果要访问需要添加)
备注:将publish: allow_offline: true
防止出现http <-- 503, user: xx, req: ‘PUT /helloworld’, error: one of the uplinks is down, refuse to publish 相关报错
步骤八:安装nrm并管理nrm仓库源
cnpm install -g nrm
安装时将npm数据源切换到淘宝的镜像仓库
nrm add localnpm http://localhost:4873
将我本地ip:6873的私有仓库添加至nrm中
使用我添加私有仓库
步骤九:npm初始化,获取可上传的包
npm init
步骤十:登录verdaccio
npm login
输入在verdaccio注册用户,登入成功
步骤十一:发布verdaccio包
npm publish
推送完成,项目发布成功,登录网址成功,如下图
步骤十二:下载verdaccio包
onetest是步骤十一发布的包
npm install onetest --save
下载上传的包会多一个node_modules,文件里有你上传的包onetest就是我们上传的,我们只上传了一个,如果还想继续上传需要修改package.json的name,如果有新版本还可以再次修改上传。
步骤十三:删除verdacci包
npm unpublish --force onetest
包删除完成
备注:如果想更新可以选择删除重新发布或者修改package.json版本号
步骤十四:安装pm2持续运行verdaccio
npm install pm2 -g
备注:将npm仓库源切换至淘宝的数据源,外网用私网数据源啥都下不了
pm2 start verdaccio
这个pm2启动为stop的问题我还需要解决一下,这个坑太多了
pm2 start C:\Users\zhangmengqi\AppData\Roaming\npm\node_modules\verdaccio\bin\verdaccio
pm2问题解决,现在后台可以持续运行verdaccio,现在我可以把它关掉了
步骤十五:实际中运用verdaccio管理包
随机进入一个项目node_modules里
进入文件内,当前文件内要有package.json
npm publish
现在发现这个包并不是我想上传的
就执行步骤十三
npm unpublish --force packageName
该条命令任何在任何位置执行均可,这里我删除的是bytes
主页上的文件没有了,表示删除完成!
备注:文件上传过大时修改配置文件(具体查看步骤四找配置文件)
上传失败!
修改配置文件
再次推送
完成!
内网安装verdacico(系统使用Linux)
内网机器上执行:
npm install --cache ./npm-cache --optional --cache-min 99999999999 --shrinkwrap false jquery 或者 npm install --cache ./npm-cache --optional --cache-min 99999999999 --shrinkwrap false
步骤和外网一样
(由于工资太少就不买阿里云的服务器了,本机搭建虚拟机装系统时间太久了,没任何意思,步骤都一样)
verdaccio常用配置详解:
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
(安装解决问题一)将npm设置为淘宝镜像
执行npm install -g verdaccio 命令出现一下错误时:
解决方法是设置淘宝镜像
1.通过cnpm使用淘宝镜像:
npm install -g cnpm --registry=https://registry.npm.taobao.org
2.将npm设置为淘宝镜像:
npm config set registry https://registry.npm.taobao.org
3. 查看npm镜像设置:
npm config get registry
4.查看cnpm镜像设置:
cnpm config get registry
使用verdaccio搭建私有npm仓库相关推荐
- 如何搭建私有NPM仓库,私有NPM仓库搭建教程
1 前言 npm 是日常前端开发过程中离不开的包管理工具,可以帮助我们快速安装 npm 仓库中优秀的第三方代码包,它的出现极大地促进了 Node 及前端生态的发展繁荣. 那么问题来了,为什么要搭建私有 ...
- 如何搭建一个私有npm仓库
业界主流的私有npm仓库搭建的主流方案有如下几种: 付费购买 使用 git+ssh 这种方式直接引用到 GitHub 项目地址 使用 Sinopia 使用 cnpmjs.org 第一种,一是考虑到公司 ...
- 在5分钟内搭建企业内部私有npm仓库
下面通过三种方法来搭建公司私有npm仓库,每种方式都有自己的优势. Node.js >= 6.11.3,我的Node版本:node v8.2.1 Linux or OSX,我的系统版本:Cent ...
- 构建前端团队的私有npm仓库
有一点规模的团队,都需要逐渐构建自己的npm包.现在有一个比较好的解决方案Sinopia,可以快速搭建和部署私有的npm服务器. 本文详细记录了我在搭建私有npm包时,遇到的问题,以及个人的思考. 1 ...
- Nexus 搭建私有镜像仓库
Nexus 搭建私有镜像仓库 说明 国内网络环境下直接使用默认的 npm 下载资源过慢,所以很多文章中都建议将 npm 的 registry 切换为 淘宝的 npm 镜像,如下 npm config ...
- Nexus【环境搭建 01】CentOS 7.5 环境下搭建私有Maven仓库实录(启动问题处理+安装文件 nexus-3.4.0-02-unix.tar.gz 云盘链接)
1. 为什么要搭建私有Maven仓库 废话少说,只说主要原因,我现在参与的项目各个模块都是以微服务形式进行部署的,包括权限验证模块,我之前参与过一个项目,使用的是自己封装的权限验证setter依赖 ...
- python 内网镜像站_搭建私有YUM仓库与内网镜像站
原标题:搭建私有YUM仓库与内网镜像站 搭建私有YUM仓库 私有yum仓库环境 系统版本:centos7.4 IP:192.168.1.47 #最好能上公网 私有yum仓库服务端配置 第一:创建使用y ...
- 搭建私有helm仓库及图形界面
搭建私有helm仓库及图形界面 本篇主要介绍私有 helm 仓库 Chartmuseum 及图形界面 Monocular UI /kubeapps 的搭建 helm chart 能够很好的封装和管理我 ...
- android 加载系统私有库,Android 搭建私有maven仓库及上传项目
前言 在日常工作及项目迭代过程中,一定有不少同学自己写了一些框架性的东西,或者一些好用的工具,总之就是能复用的代码.然而也有不少同学为了复用这些代码不得不复制粘贴到不同项目中,这样相同的功能出现了多份 ...
最新文章
- 文档相似度之doc2vec、文档聚类
- tkinter笔记:画布canvas
- Hadoop put file 错误:fs.FSInputChecker: Found checksum error
- 《SolidWorks 2016中文版机械设计从入门到精通》——1.10 范例
- hdu- 5015 233 Matrix
- BZOJ.2741.[FOTILE模拟赛]L(分块 可持久化Trie)
- webx学习(一)——初识webx
- 解决xx is not in the sudoers file. This incident will be reported.问题
- 使用TensorFlow.js的AI聊天机器人二:训练Trivia Expert AI
- jdk17稳定版来了,jdk8还能香多久?
- 虚拟机文件上传至dsm服务器,没NAS也能体验群晖:VMware虚拟机安装DSM详细安装步骤...
- 淘宝网卖家必须缴纳消保保证金才能发布宝贝的商品类目
- 深圳计算机学校排名2015年,2015深圳各区初中最新排名,10各区学校都有
- 【2018/10/11测试T3】葫芦
- 实变函数---不可测集的一个例子
- 2022年秋招提前批总结(海尔智家)
- Anaconda配置新环境
- Word中插入上标、下标快捷键
- Java学习--方法总结
- 让程序后台运行的几种方法
热门文章
- 山东高校计算机水平,山东省高等学校校园计算机局域网管理办法(暂行)
- 办公必备!20个Word文字处理技巧
- 升级鸿蒙系统第一批平板名单,华为鸿蒙首批升级机型名单曝光:双系列手机、折叠屏和平板电脑-芯查查...
- gis投影中未定义的地理转换_ArcGIS中的坐标系统定义与投影转换(转)
- 实用又快速的多御安全浏览器,你会选择吗?
- 【SQL】一文详解嵌入式SQL(建议收藏)
- vue从创建到完整饿了么(16)watch监听子路由变化
- Linux被kdevtmpfsi,pnscan挖矿病毒入侵记录
- qt界面 mp4_MP6 –这会成为WordPress管理员用户界面的未来吗?
- 微信小程序最新研究报告,带你深度解读小程序的边界