Linux之使用verdaccio搭建NPM私服
npm私服主要优势其实就两个:- 托管公司内部组件库代码,不对外,方便管理。- 项目中使用到的npm包会缓存到私服库里,能明显提升之后下包的速度。Verdaccio是一个简单的零配置本地专用NPM注册表。刚开始时不需要整个数据库。Verdaccio拥有自己的微型数据库,并且能够代理其他注册中心(例如npmjs.org),同时还引入了缓存下载的模块。对于那些希望扩展存储功能的用户,Verdaccio
一、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
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使用简介
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。
更多推荐
所有评论(0)