Linux之使用verdaccio搭建NPM私服

一、verdaccio简介

  公司的前端大神几乎一个人包揽了公司所有系统的前端开发工作,最近提出希望搭建一个NPM私服用于存储前端相关软件包。npm私服主要优势其实就两个:

  • 托管公司内部组件库代码,不对外,方便管理。
  • 项目中使用到的npm包会缓存到私服库里,能明显提升之后下包的速度。

  Verdaccio是一个简单的零配置本地专用NPM注册表。刚开始时不需要整个数据库。Verdaccio拥有自己的微型数据库,并且能够代理其他注册中心(例如npmjs.org),同时还引入了缓存下载的模块。对于那些希望扩展存储功能的用户,Verdaccio支持各种社区制作的插件,以连接到亚马逊S3、谷歌云存储等服务中,或者创建自己的插件。实验环境:

  • 操作系统:centos7.6
  • node版本:v16.5.1
  • npm版本:8.11.0
  • verdaccio版本:v5.13.0
  • pm2版本:5.2.0

二、安装步骤

1、下载nodejs适配版本

在这里插入图片描述

#博文编写时nodejs最新版本为18.4.0,v18版本要求glibc版本2.28以上。下载nodejs v16.5.1版本到/usr/local
[root@s146 local]# wget https://nodejs.org/dist/latest-v18.x/node-v18.4.0-linux-x64.tar.gz

2、解压软件包

[root@s146 local]# tar -zxvf node-v18.4.0-linux-x64.tar.gz

3、创建软连接

[root@s146 local]# ln -s node-v18.4.0-linux-x64 nodejs
[root@s146 local]# cd nodejs/
[root@s146 nodejs]# cd bin/
[root@s146 bin]# ln -s /usr/local/nodejs/bin/node /usr/local/bin/node
[root@s146 bin]# ln -s /usr/local/nodejs/bin/npm /usr/local/bin/npm

4、查看node和npm版本

[root@s146 local]# node -v
v16.15.1
[root@s146 local]# npm -v
8.11.0

5、全局安装verdaccio

在这里插入图片描述

[root@s146 local]# npm install --global verdaccio

6、全局安装pm2

在这里插入图片描述

#pm2主要用于守护node进程,手动启动verdaccio容易出现退出终端会话进程不能访问的情况,通过pm2方式启停服务更可靠
[root@s146 local]# npm install -g pm2

扫描二维码关注公众号,回复: 14374484 查看本文章

7、启动verdaccio

在这里插入图片描述

root账户启动verdaccio后可以看到配置的存储路径,默认监听localhost地址,我们无法通过网络访问。我们可以修改配置文件后指定配置文件启动,另外verdaccio服务不需要root账户启动。

8、给pm2和verdaccio添加到命令

[root@s146 bin]# ln -s /usr/local/nodejs/bin/verdaccio /usr/local/bin/verdaccio
[root@s146 bin]# ln -s /usr/local/nodejs/bin/pm2 /usr/local/bin/pm2
[root@s146 bin]# pm2 -v

[PM2] PM2 Successfully daemonized
5.2.0
[root@s146 bin]# verdaccio -v
v5.13.0

9、创建一个普通用户

[root@s146 bin]# useradd wuhs
[wuhs@s146 ~]$ mkdir -p verdaccio/npmdata

10、修改配置文件

[root@s146 bin]# cp /root/.config/verdaccio/config.yaml /home/wuhs/verdaccio/
[root@s146 bin]# cd /home/wuhs/verdaccio/
[root@s146 verdaccio]# chown root.root config.yaml
[root@s146 verdaccio]# su - wuhs
Last login: Tue Jun 21 15:55:53 CST 2022 on pts/1
[wuhs@s146 ~]$ cd verdaccio/
[wuhs@s146 verdaccio]$ vim config.yaml
在这里插入图片描述

11、启动verdaccio

在这里插入图片描述

12、使用pm2启动verdaccio

在这里插入图片描述

#启动
[wuhs@s146 verdaccio]$ pm2 start verdaccio
#查看状态
[wuhs@s146 verdaccio]$ pm2 status verdaccio
#停止
[wuhs@s146 verdaccio]$ pm2 stop verdaccio

13、访问verdaccio验证看到此界面说明verdaccio安装成功

三、verdaccio使用简介

1、注册账户

在这里插入图片描述

#使用npm adduser命令注册账户,根据提示输入用户名、密码和邮箱。
[wuhs@s146 verdaccio]$ npm adduser --registry http://192.168.0.146:4873/
npm notice Log in on http://192.168.0.146:4873/
Username: wuhs
Password:

2、删除用户

  Verdaccio 默认使用的是 htpasswd 来实现鉴权。相应地,注册的用户信息会存储在 htpasswd 文件中。在该文件中一条记录对应一个用户,也就是如果这条记录被删除了,那么该用户就不能登陆了,即删除了该用户。

[wuhs@s146 verdaccio]$ cat htpasswd
wuhs:xzHxg2SQhv1s6:autocreated 2022-06-21T09:09:00.188Z

3、发布包到仓库步骤

  • 使用注册的用户登录
  • .npmrc文件文件中添加源registry=http://192.168.0.146:4873/
  • package.json文件中设置好版本
  • 执行npm publish。

猜你喜欢

转载自blog.csdn.net/carefree2005/article/details/125376951