NPM私库搭建-verdaccio(Linux)

news/2024/11/9 16:42:43/

1、安装node

linux服务器安装node

  • a)、官网下载所需的node版本
    https://nodejs.org/dist/v14.21.0/
  • b)、解压安装包
    若下载的是xxx.tar.xz文件,解压命令为tar -xvf xxx.tar.xz
  • c)、修改环境变量
    修改:/etc/profile文件
#SET PATH FOR NODEJS
export NODE_HOME=NODEJS解压安装的路径
export PATH=$NODE_HOME/bin:$PATH
  • d)、环境变量需重启生效
    source /etc/profile
  • e)、查看当前node版本
    node -v

2、下载verdaccio

npm --registry https://registry.npm.taobao.org install -g verdaccio --unsafe-perm

  • --unsafe-perm防止报grywarn权限的错
  • --registry是因为原来的私库崩了 这里直接指明仓库地址为淘宝镜像

3、修改配置文件

文件位置:/root/.config/verdaccio/config.yaml
如果找不到该文件,需要先运行verdaccio,直接执行verdaccio命令即可。
继续修改配置文件:vi /root/.config/verdaccio/config.yaml
在文件末尾追加:listen: 0.0.0.0:4873
注意:4873是verdaccio默认端口,如果遇到已被占用,自行修改。
(编辑文件操作简述:vi 打开文件,按Insert键,按PgDn翻到最后一页,方向键移动到最后一行,回车添加一行输入默认端口配置,按Esc键,输入:wq回车即可。)

4、启动verdaccio

输入命令:verdaccio

5、安装pm2守护verdaccio进程

一方面是守护进程,一方面让verdaccio在后台运行。
npm --registry https://registry.npm.taobao.org install -g pm2 --unsafe-perm

6、通过pm2启动verdaccio

pm2 start verdaccio

7、查看pm2守护下的verdaccio日志

pm2 show verdaccio
可以看到一些日志的存放地址:

  • error log path │ /root/.pm2/logs/verdaccio-error.log
  • out log path │ /root/.pm2/logs/verdaccio-out.log
    方便出问题时候查看日志等信息。

8、切换私库登录并使用

  • 查看npm仓库配置:npm config ls
  • 设置npm仓库地址:npm set registry http://verdaccio所在服务器IP:4873/
  • 将用户信息添加到npm仓库:npm adduser --registry http://verdaccio所在服务器IP:4873/
  • 查看当前用户:npm who am i
    若没有添加用户,是没法上传包到仓库的哦,但是可以下载包。

9、修改verdaccio配置文件

  • 修改配置文件:vi /root/.config/verdaccio/config.yaml
  • 重启服务:pm2 restart verdaccio
    另外:
    配置文件可以查看verdaccio仓库地址storage,默认为:/root/.local/share/verdaccio/storage

10、其他问题

10.1、上传包的时候遇到包太大了报错

参考请求过大时设置nginx的max_body_size属性。
需要修改verdaccio的max_body_size属性值,默认是10M。
讲道理,包太大了还是检查自己包压缩一下吧。
打开verdaccio配置文件:vi /root/.config/verdaccio/config.yaml
找到max_body_size属性,默认10mb视情况修改,忘了有没有注释掉这行,有的话删掉前面的#号,放开注释。
重启verdaccio:pm2 restart verdaccio,可以看到列表中有个刷新的图标,刷新一次就在追加一次数值。

10.2、canvas包下载报错

查了一堆资料,说是下载canvas这类二进制的包的时候,会去github拿包,而github的网络连接有问题就会出现报错。
建议切换仓库地址为阿里云。

  • 打开verdaccio配置文件:vi /root/.config/verdaccio/config.yaml
  • 修改uplinks下的npmjs下的url属性:https://registry.npmmirror.com/
  • 重启verdaccio:pm2 restart verdaccio
    但是,我这边有个现象是,修改成功了,本地下载canvas包正常,linux服务器下载还是报错。

http://www.ppmy.cn/news/1524063.html

相关文章

Dubbo缓存

是的,Dubbo 可以对服务调用结果进行缓存。通过缓存结果,可以减少重复调用、降低服务提供者的负载,并提高系统的响应速度和吞吐量。Dubbo 内置了多种缓存机制,开发者可以根据不同的业务需求选择合适的缓存策略。 1. Dubbo 结果缓存…

Java面试篇基础部分-垃圾回收算法

大厂面试垃圾回收算法详解内容。 JVM内存垃圾对象的确定? Java开发过程中,使用引用计数和可达性分析。来确定一个对象是否是需要被回收的对象,如果是需要被回收的对象则,对其进行垃圾回收,如果不是则说明是存在引用的对象,则不能清理 首先来分析一下引用算法,如果这个时…

RPC框架-protobuf-rpc-pro

protobuf-rpc-pro 是一个基于 Protocol Buffers 的 RPC 框架,旨在通过使用 Google 的 Protocol Buffers(Protobuf)序列化格式实现高效、轻量的远程过程调用(RPC)。它主要用于 Java 生态系统,提供了简洁的 A…

如何为应用程序文件进行签名以避免被Windows阻止

一、背景 在开发和发布Windows应用程序时,确保所有的可执行文件(如 .exe、.dll、.pyd 等)都经过签名是非常重要的。签名可以保证文件的完整性和来源,防止在运行时被Windows阻止。本文将介绍如何提取需要签名的文件,上…

海鸥相机存储卡格式化如何恢复数据

在摄影的世界里,‌每一张照片都承载着独特的记忆与故事。‌然而,‌当我们不慎将海鸥相机的存储卡格式化后,‌那些珍贵的瞬间似乎瞬间消逝,‌让人心急如焚。‌但请不要绝望,‌数据恢复并非遥不可及。‌本文将详细介绍在…

大白话说什么是“MLLM”多模态大语言模型

1. 什么是MLLM多模态大语言模型 1.1 先来思考一个问题 如果上传了一张图片,并向大模型提问。“图片中绿色框框中的人是谁?” 大模型回答:“那是波多野吉衣老师” 请问,大模型是怎么做到的? 我们用常规的思路来想一…

一文学会用 Maven

目录 一、Maven简介 1、为什么学习Maven 1.1、Maven是一个依赖管理工具 1.2、Maven是一个构建工具 1.3、结论 2. Maven介绍 3. Maven软件工作原理模型图(了解) 二、Maven安装和配置 1. Maven安装 2. Maven环境配置 3. Maven功能配置 4. IDEA…

26. Redis缓存过期

Redis 相对于传统的关系型数据库(例如 MySQL )而言,还具有设置过期时间的特性,在项目实战中,我们经常关心的三元组是 {key,value,expire_time}。这里的过期时间(expire_time)是的具体执行方式,涉及到 Redis 的缓存过期策略。 2. 缓存过期策略 面试官提问: Redis 里…