NPM私库搭建-verdaccio(Linux)

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服务器下载还是报错。
相关推荐
松堂飞萤23 分钟前
Web开发(一)HTML5
前端·html·html5
初遇你时动了情38 分钟前
vue3 uniapp封装一个瀑布流组件
前端·javascript·uni-app
初遇你时动了情42 分钟前
react Hooks 父组件调用子组件函数、获取子组件属性
前端·javascript·react.js
ZoeLandia1 小时前
从前端视角看设计模式之创建型模式篇
前端·javascript·设计模式
林涧泣1 小时前
【Uniapp-Vue3】manifest.json配置
前端·vue.js·uni-app
真想骂*1 小时前
自然语言处理(NLP)在语音控制前端应用中的架构、发展与未来趋势
前端·人工智能·自然语言处理
地衣君2 小时前
服务器一次性部署One API + ChatGPT-Next-Web
服务器·前端·chatgpt·aigc·oneapi
oil欧哟2 小时前
😎 小程序手搓轮播图,几千个元素滑动照样丝滑~
前端·vue.js·微信小程序
A_ugust__2 小时前
解决 vxe-table 的下拉框、日期选择等组件被 element-plus element-ui 弹窗遮挡问题 z-index
前端·javascript
一狐九2 小时前
记录一个v-if与自定义指令的BUG
前端·vue.js·bug