Linux 中使用 verdaccio 搭建私有npm 服务器

安装 Node

Linux中安装Node

安装verdaccio

npm i -g verdaccio

安装完成 输入verdaccio,出现下面信息代表安装成功,同时输入verdaccio后verdaccio已经处于运行状态,当然这种启动时暂时的,我们需要通过pm2让verdaccio服务常驻

   yg@iZ2zec61wsgbo9t9i346jbZ:~$ verdacciowarn --- config file  - /home/yg/.config/verdaccio/config.yamlwarn --- Plugin successfully loaded: htpasswdwarn --- Plugin successfully loaded: auditwarn --- http address - http://localhost:4873/ - verdaccio/3.10.1

配置config.yaml

1、vim /home/yg/.config/verdaccio/config.yaml 进入编辑配置文件# This is the default config file. It allows all users to do anything,
# so don't use it on production systems.
#
# Look here for more config file examples:
# https://github.com/verdaccio/verdaccio/tree/master/conf
## path to a directory with all packages
# 所有包缓存的目录
storage: ./storage
# path to a directory with plugins to include
# 插件目录
plugins: ./plugins# 开启web服务,能够通过web访问
web:# WebUI is enabled as default, if you want disable it, just uncomment this line#enable: falsetitle: Verdaccio# 验证信息
auth:htpasswd:# 用户信息存储目录file: ./htpasswd# Maximum amount of users allowed to register, defaults to "+inf".# You can set this to -1 to disable registration.#max_users: 1000# a list of other known repositories we can talk to
# 公有仓库配置
uplinks:npmjs:url: https://registry.npmjs.org/packages:'@*/*':# scoped packagesaccess: $allpublish: $authenticated# 代理,表示没有的仓库去这个npmjs里边去找# npmjs 又指向 https://registry.npmjs.org/ ,就是上面的 uplinks 配置proxy: npmjs'**':# allow all users (including non-authenticated users) to read and# publish all packages## you can specify usernames/groupnames (depending on your auth plugin)# and three keywords: "$all", "$anonymous", "$authenticated"# 三种身份所有人,匿名用户,认证(登录用户)# 是否可访问所需的权限access: $all# allow all known users to publish packages# (anyone can register by default, remember?)# 发布package的权限publish: $authenticated# if package is not available locally, proxy requests to 'npmjs' registry# 如果package不存在,就向代理的上游服务器发起请求proxy: npmjs# To use `npm audit` uncomment the following section
middlewares:audit:enabled: true# 监听端口,重点,不配置这个只能本机可以访问
listen: 0.0.0.0:4873# log settings
logs:- {type: stdout, format: pretty, level: http}#- {type: file, path: verdaccio.log, level: info}

安装 pm2

npm i pm2 -g

启动

pm2 start verdaccio  

就可以通过http://xxx(ip地址)去访问了

在这里插入图片描述

设置 npm 服务指向本地

npm config set registry http://localhost:4873

注册用户

# 注册用户 在本地注册一个用户然后指向我们的地址然后我们就可以发布包了
npm adduser --registry http://xxx:4873
Username: xxx
Password: xxx
Password:  xxx
Email: (this IS public) xxx
Logged in as yg-ui on http://xxx/ (你的ip地址)
这时候我们就注册一个用户,我们可以用这个用户名和密码去登录去上图窗口去登录了

登录

npm login 	# 用刚刚注册的用户名密码进行登录
npm whoami	# 查看当前登录的账号

发包

mkdir npm-publish-test	# 包文件夹
cd npm-publish-test
npm init				# npm初始化
npm publish	

删除 指定版本或包

$ npm unpublish [<pkg>][@<version>] --force

下面列一下几种使用场景

  • $ npm unpublish dzmtest@1.0.1 --force
    直接强制删除指定包的指定版本,不需要 cd 进入包文件夹内,随处可以执行。

  • $ npm unpublish dzmtest --force
    直接强制删除指定包,不需要 cd 进入包文件夹内,随处可以执行。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/57457.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

jupyter文档转换成markdown

背景 上一篇文章**《如何优雅地用python生成模拟数据》**我就使用jupyter写的&#xff0c;这个真的是万能的&#xff0c;可以插入markdown格式的内容&#xff0c;也可写代码&#xff0c;关键是像ipython一样&#xff0c;可以分步执行。 我可以这样自由的写我的博客内容&#x…

不用手动编程!ChatGPT帮你轻松实现单片机按键输入功能

从今年年初&#xff0c;OpenAI发布的ChatGPT已摧古拉朽之势席卷全球&#xff0c;短短两个月注册用户数就超过1亿人&#xff0c;是全世界增长速度最快的应用。很多人都说今年是AI元年&#xff0c;其实也是有一定道理的&#xff0c;之前的AI门槛相对较高&#xff0c;很多人没有机…

我的Python教程:使用Pyecharts画关系节点图

示例源码1 from pyecharts import options as opts from pyecharts.charts import Graphnodes [{"name": "结点1", "symbolSize": 10},{"name": "结点2", "symbolSize": 20},{"name": "结点3&qu…

Java实现Google cloud storage 文件上传,Google oss

storage 控制台位置 创建一个bucket 点进bucket里面&#xff0c;权限配置里&#xff0c;公开访问&#xff0c;在互联网上公开&#xff0c;需要配置角色权限 新增一个访问权限 &#xff0c;账号这里可以模糊搜索&#xff0c; 角色配置 给allUser配置俩角色就可以出现 在互联…

APT60DQ20BG-ASEMI快恢复二极管APT60DQ20BG

编辑&#xff1a;ll APT60DQ20BG-ASEMI快恢复二极管APT60DQ20BG 型号&#xff1a;APT60DQ20BG 品牌&#xff1a;ASEMI 封装&#xff1a;TO-3P 恢复时间&#xff1a;≤35ns 正向电流&#xff1a;60A 反向耐压&#xff1a;200V 芯片个数&#xff1a;双芯片 引脚数量&…

SQL server 与 MySQL count函数、以及sum、avg 是否包含 为null的值

sql server 与 mysql count 作用一样。 count 计算指定字段出现的个数&#xff0c; 不是计算 null的值 获取表的条数 count(n) n:常数 count(1),count&#xff08;0&#xff09;等 count(*) count(字段) 其中字段为null 不会统计在内。 avg(字段)、sum(字段) 跟count(字段)…

cn.hutool.core.date.DateUtil.beginOfDay 方法的作用和使用

cn.hutool.core.date.DateUtil.beginOfDay 方法的作用是返回指定日期的开始时间&#xff0c;即将时、分、秒和毫秒部分设置为 0。 使用 beginOfDay 方法时&#xff0c;可以按照以下步骤进行操作&#xff1a; 导入 cn.hutool.core.date.DateUtil 类。创建一个 java.util.Date …

实现 cpolar 内网穿透

简介 cpolar是一种安全的内网穿透云服务&#xff0c;可以将内网下的本地服务器通过安全隧道暴露至公网&#xff0c;使得公网用户可以正常访问内网服务。它是一款内网穿透软件&#xff0c;使用简单&#xff0c;只需一行命令即可将内网站点发布至公网&#xff0c;方便给客户演示…

一篇五分生信临床模型预测文章代码复现——Figure 10.机制及肿瘤免疫浸润(三)

之前讲过临床模型预测的专栏,但那只是基础版本,下面我们以自噬相关基因为例子,模仿一篇五分文章,将图和代码复现出来,学会本专栏课程,可以具备发一篇五分左右文章的水平: 本专栏目录如下: Figure 1:差异表达基因及预后基因筛选(图片仅供参考) Figure 2. 生存分析,…

【数据结构】单链表OJ题

&#x1f525;博客主页&#xff1a;小王又困了 &#x1f4da;系列专栏&#xff1a;数据结构 &#x1f31f;人之为学&#xff0c;不日近则日退 ❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 目录 一、移除链表元素 &#x1f4a1;方法一&#xff1a; &#x1f4a1;方法二…

用excel格式书写的接口用例执行脚本

创建测试用例和测试结果集文件夹&#xff1a; excel编写的接口测试用例如下&#xff1a; 1 encoding 响应的编码格式。所测项目大部分是utf-8&#xff0c;有一个特殊项目是utf-8-sig 2 params 对应requests的params 3 data&#xff0c;对应requests的data 有些参数是动态的&a…

华为OD机试(含B卷)真题2023 算法分类版,58道20个算法分类,如果距离机考时间不多了,就看这个吧,稳稳的

目录 一、数据结构1、线性表2、优先队列3、滑动窗口4、二叉树5、并查集6、栈 二、算法1、基础算法2、字符串3、图4、动态规划5、数学 三、漫画算法2&#xff1a;小灰的算法进阶参与方式 很多小伙伴问我&#xff0c;华为OD机试算法题太多了&#xff0c;知识点繁杂&#xff0c;如…