搭建私有npm私库(使用verdaccio)

一、为什么要搭建npm私库

原因:
1)公司内部开发的私有包,统一管理,方便开发和使用;
2)安全性,由于公司内部开发的模块和一些内容并不希望其他无关人员能够看到,但是又希望内部能方便使用;
3)加速,自己搭建npm 服务器,本身可以自带常用package的缓存,而npm 的速度有些感人,自建的服务器会缓存下载过的包,能节省时间;

二、为什么用verdaccio 替换 sinopia

为什么选择verdaccio,因为sinopia到2015年10月后,已经早不维护了,似乎作者不见了踪影。而verdaccio是sinopia的一种新的web【react】端的实现形式,并且目前一直在维护中。

三、搭建verdaccio

基础环境:
[root@monitor-cicd ~]# uname -r
3.10.0-862.11.6.el7.x86_64
[root@monitor-cicd ~]# cat /etc/redhat-release 
CentOS Linux release 7.4.1708 (Core)
[root@monitor-cicd ~]# node -v
v10.14.2

3.1 安装verdaccio

使用npm 全局安装即可
npm install -global verdaccio --unsafe-perm
#--unsafe-perm  说明:npm会有生命周期,某个包会有生命周期来执行一些东西,安全起见会自动降级导致没有权限执行一些操作,通过--unsafe-perm参数来解锁该限制。

npm报权限错误参考案例:https://blog.csdn.net/weiguang1017/article/details/78813901 

3.2 修改配置文件

安装完需要启动(执行 /application/nodejs/bin/verdaccio )一下,才能生成配置文件。
vim /root/.config/verdaccio/config.yaml
需要改动2处:
1)npm镜像下载地址:
旧:url: https://registry.npmjs.org/  (国外)
新:url: http://registry.npm.taobao.org/  (阿里云)

2)指定ip端口:

在配置文件末尾添加如下:(因为默认是localhost:4873  (弊端:只能在本机访问))
#指定ip端口
listen: 0.0.0.0:4873

其余解释:

storage: ./storage   # 所有包的缓存目录
plugins: ./plugins     # 插件目录
file: ./htpasswd    # 用户信息存储目录

3.2 使用pm2 守护verdaccio进程

安装pm2并使用pm2启动verdaccio,使用pm2托管的进程可以保证进程永远是活着的,尝试通过kill -9去杀verdaccio的进程发现杀了之后又自动启起来。推荐使用此种方式启动verdaccio。
安装pm2:
npm install -g pm2 --unsafe-perm

使用pm2启动verdaccio:

/application/nodejs/bin/pm2 start /application/nodejs/bin/verdaccio

3.3 将当前npm服务指向本地

npm set registry http://127.0.0.1:4873
 

转载于:https://www.cnblogs.com/forever521Lee/p/10139060.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值