服务器Linux搭建NPM私有仓库-verdaccio

服务器Linux搭建NPM私有仓库

共两种方式搭建,docker搭建和普通搭建。

环境搭建

安装

nodejs

nodejs官网:https://nodejs.org/en/download/package-manager

可以去官网自行下载nodejs的Linux版本,但是出于别的原因考虑,可以使用nvm去下载nodejs这样会切换nodejs也方便。

nvm

这样就以nvm为例

github仓库:https://github.com/nvm-sh/nvm/releases

如我现在的版本:0.39.7

在这里插入图片描述

解压安装包

tar -xzf nvm-0.39.7.tar.gz 

移动目录

mv /var/nvm nvm-0.39.7

配置环境

vim ~/.bashrc

编辑这个文件,在里面加上,NVM_DIR每个人目录不一样根据你的来

export NVM_DIR="/var/nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This loads nvm bash_completion

在这里插入图片描述

让配置文件生效

source ~/.bashrc

测试安装

nvm install 20
nvm use 20

在这里插入图片描述

安装verdaccio

docker搭建

docker pull verdaccio/verdaccio

启动服务

docker run -it --name verdaccio -p 4873:4873 \
-v /var/verdaccio/storage:/verdaccio/storage \
-v /var/verdaccio/conf:/verdaccio/conf \
-v /var/verdaccio/plugins:/verdaccio/plugins verdaccio/verdaccio

docker-compose.yml搭建

version: '3'
services:
  verdaccio:
    image: verdaccio/verdaccio
    container_name: "verdaccio"
    network--mode: "bridge"
    environment:
      - VERDACCIO_PORT=4873
    ports:
      - "4873:4873"
    volumes:
      - "/home/verdaccio/storage:/verdaccio/storage"
      - "/home/verdaccio/conf:/verdaccio/conf"
      - "/home/verdaccio/plugins:/verdaccio/plugins"
    network_mode: "bridge"

使用docker-compose up启动

普通搭建

前面是这样启动的直接输入verdaccio但是处于严谨考虑后面会
使用pm2 start verdaccio这样就可以后台方式运行了。当前启动如果终止就无法访问verdaccio了

# 设置国内镜像源
npm config set registry https://registry.npmmirror.com/
# 安装verdaccio
npm  install -g verdaccio
# 运行Verdaccio
verdaccio

使用pm2启动

npm install -g pm2
pm2 start verdaccio

运行后会出现以下。

在这里插入图片描述

第一行是verdaccio的配置文件路径,第二行和第三行是插件加载信息,第二行是镜像源的URL,通常我们需要开放到整个内网中,那么我们不太希望使用localhost去访问,更多情况下希望使用IP或域名去访问,这个时候就得修改配置了。

info --- config file  - /root/.config/verdaccio/config.yaml
info --- the "crypt" algorithm is deprecated consider switch to "bcrypt" in the configuration file. Read the documentation for additional details
info --- using htpasswd file: /root/.config/verdaccio/htpasswd
info --- plugin successfully loaded: verdaccio-htpasswd
info --- plugin successfully loaded: verdaccio-audit
warn --- http address - http://localhost:4873/ - verdaccio/5.30.3

编辑/root/.config/verdaccio/config.yaml文件

找到这一行,并修改这一段。

在这里插入图片描述

# a list of other known repositories we can talk to
uplinks:
  npmjs:
    url: https://registry.npmmirror.com/
# 监听端口,可以通过浏览器访问
listen: 0.0.0.0:4873

修改后的,然后重启服务!!!

# 重启服务
verdaccio

在这里插入图片描述

使用pm2启动

pm2 start verdaccio

上传依赖包

配置完成后就可以上传自己的依赖包了。

切换镜像源

这个要切换到我们自己的镜像源。

npm config set registry http://192.168.1.4:4873/

为了更好的对镜像源管理我建议使用nrm来切换:

中间名字verdaccio可以随便取。

npm install -g nrm
nrm add verdaccio http://192.168.1.4:4873/
# 这时如果没有出错就已经切换到我们自己的镜像源了
nrm use verdaccio

# 奢姿npm官方镜像
nrm add npmjs https://registry.npmjs.org
nrm use npmjs

使用nrm ls查看当前所有镜像源。

# 查看所有镜像源
nrm ls
# 删除镜像源
nrm del 镜像源名称

在这里插入图片描述

查看当前镜像源是否为我们自己的。

# 查看当前镜像源
npm config get registry

登录用户

# 输入你的用户名和密码
npm login
# 查看当前用户是谁
npm who am i

在这里插入图片描述

上传包

需要初始化包,当你也可以下载一个npm包然后推送到自己仓库,或者是自己做一个npm包然后推送。

mkdir my-package
cd my-package
npm init

然后添加用户,按照要求指引完成创建用户!!!

npm adduser

在这里插入图片描述

之后将包推送到仓库中。

npm publish
# 或者使用
npm publish --registry http://192.168.1.4:4873/

当前页面中也有教程。

在这里插入图片描述

如果不出意外的话会出现这个。

在这里插入图片描述

发布完成后,刷新页面会出现我们之前上传的包。

如果出错报503,请继续往下看

在这里插入图片描述

下载我们的包

和正常npm下包方式一样,直接下载即可。

npm install bunny-cli

关于503错误

搜索:publish:

之后将改为allow_offline: true,修改完成重启verdaccio服务

pm2 restart verdaccio

[外链图片转存中…(img-RxMj8w5t-1713007536649)]

下载我们的包

和正常npm下包方式一样,直接下载即可。

npm install bunny-cli

关于503错误

搜索:publish:

之后将改为allow_offline: true,修改完成重启verdaccio服务

pm2 restart verdaccio

在这里插入图片描述

  • 22
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值