npm 私服工具verdaccio 搭建
npm私服搭建的必要性
1.如果公司处于隐私保护的需要,不想讲自己封的包推到npm社区,但又急需要一套完整的包管理工具来管理越来越多的组件,模块,项目。对于前端,最熟悉的莫过于npm,bower等,但是bower的市场明显没有npm强大的,npm是前端包管理的不二选择 ~
2.我们公司项目里直接依赖或间接依赖的包可能会有上千个,下过node库的人都懂,从npmjs上下载有多慢,所以大家会用cnpm从淘宝那下,但有比淘宝更快的方法是从局域网的私服下。
3.当我们搭好了这套私服管理工具之后有什么优势呢?
私有包托管在我们的私服上,不对外。
项目中使用的所有包可以缓存在我们的私服上,然后大家下包的时候走私服,不用走npmjs了。速度快上七八倍不在话下。
对于下载和发布npm包都有了相应的权限管理。
搭建过程
叨叨了这么半天,终于开始进入正题,有木有很期待。
服务器搭建
1.安装node环境
下载最新的node环境,下载地址:https://nodejs.org/en/download/current/
安装命令:解压安装就好,版本号自己变一下,然后配置一下环境变量,比较简单这里不多说了。
tar -xvf node-v8.9.1-linux-x64.tar.gz
2.安装verdaccio
加上–unsafe-perm的原因是防止报grywarn权限的错。
npm install -g verdaccio --unsafe-perm
3. 配置
3.1. 修改配置文件
verdaccio 的特点是,你在哪个目录运行,它的就会在对应的目录下创建自己的文件。目录下默认有两个文件:config.yaml和storage,htpasswd 是添加用户之后自动创建的;
由于第一次启动默认的config.xml文件是从原始文件default.yaml拷贝而来,可先修改verdaccio 原始的default.yaml。
地址:verdaccio 安装目录/conf/ default.yaml。
打开默认启动的config.yaml文件。
vim /home/admin/.config/verdaccio/config.yaml
在配置文件最后添加监听端口,配置文件详解请见文末尾
listen: 0.0.0.0:4873 # listen on all addresses
3.2. 对外开放4873端口
verdaccio继承了sinopia,端口号4873依然不变。
firewall-cmd --state # 先查看防火墙状态,
service firewalld start # 开启防火墙:
firewall-cmd --zone=public --add-port=4873/tcp –permanent #开放4873端口
firewall-cmd --reload #重新载入
firewall-cmd --zone=public --query-port=4873/tcp #查看是否添加成功
4.启动verdaccio
4.1.verdaccio直接启动
命令:
verdaccio
// 显示信息,
第一句是配置文件的地址,
第二句,给了我们地址,访问便可以看到我们的私服已经搭建成功了。
目前还没有往上发布过包,所以没有任何包的信息。当我们打开页面还可以看到服务器这边有访问记录,控制台的日志一直在打。
verdaccio doesn‘t need superuser privileges. Don‘t run it und
warn — config file - /home/admin/.config/verdaccio/config.yaml
warn — http address - http://localhost:4873/ - verdaccio/
4.2 pm2守护verdaccio进程
利用第一种方法虽然可以正常启动和使用verdaccio,但不建议用这种方式启动verdaccio,我们可以用pm2来使用pm2对verdaccio进程进行托管启动。
安装pm2并使用pm2启动verdaccio,使用pm2托管的进程可以保证进程永远是活着的,尝试通过kill -9去杀verdaccio的进程发现杀了之后又自动启起来。推荐使用此种方式启动verdaccio.
4.2.1安装pm2
npm install -g pm2 --unsafe-perm
4.2.2使用pm2启动verdaccio
pm2 start verdaccio
4.2.3 查看pm2 守护下的进程verdaccio的实时日志
pm2 show verdaccio
通过这个命令我们可以从下图中看到所有verdaccio的所有信息,打开 out log path查看进程输出日志,出现错误时候也可以打开error log来查看错误日志。
实时查看该路径下的日志命令:
tail -f /home/admin/.pm2/logs/verdaccio-out-0.log
添加用户
npm adduser --registry http://192.168.XX.XX:4873 //后面是我们的私服地址
类似如下:
Username: lk
Password:
Email: (this IS public) lk@qq.com
Logged in as rong on http://192.168.XX.XX:4873/.
然后在verdaccion启动页面尝试登录即可,默认登录后有发布包的权限。(这里可以通过修改config.yaml配置文件来对权限进行设置)、
到这里服务器端的搭建就完毕了,下篇我们来介绍客户端如何使用。
npm 私服工具verdaccio 搭建的更多相关文章
- npm 私服工具verdaccio 安装配置试用
1. 安装 npm install -g verdaccio 2. 启动 verdaccio // 界面显示信息 Verdaccio doesn't need superuser privileg ...
- vue组件库(二):基于verdaccio工具npm私服搭建
大纲 搭建npm私服的必要性 搭建npm私服的主要操作 一.搭建npm私服的必要性 二.搭建npm私服的主要操作 1.环境准备 确保服务器已安装以下包: node(必须) 安装了nodenpm,如果想 ...
- 搭建npm私服流程
npm私服必要性 1. 如果公司处于隐私保护的需要,不想将自己封的包推到npm社区,但又急需要一套完整的包管理工具来管理越来越多的组件,模块,项目.对于前端,最熟悉的莫过于npm,bower等,但是b ...
- 使用verdaccio 搭建npm私有仓库
使用verdaccio 搭建npm私有仓库 1. 为什么要搭建私有的npm仓库? 随着公司的业务越来越复杂,项目迭代速度也越来越快,那么项目间的常用的业务代码共享变得非常之有必要.但是对于公司的 ...
- 使用 Nexus3 Repository Manager 搭建 npm 私服
公司里一般都有自己的私服,用于管理封装的工具插件等,Nexus2主要是用于maven/gralde仓库的统一管理,Nexus3则添加了npm插件,可以对npm提供支持,其实用于npm仓库管理的还有一个 ...
- Nexus 3 搭建 npm 私服 (windows)
Nexus 3 搭建 npm 私服备忘 下载与安装 在官网下载Nexus Repository Manager OSS 3.x, 解压至任意位置. 管理员运行 powershell, 切换到 nexu ...
- npm私服搭建
本文是在 centos7 下利用 nexus 搭建 npm 私服的整理 一.安装 JDK 1.下载 JDK 2.安装 tar zxvf jdk-8u191-linux-x64.tar.gz .0_19 ...
- centos 系统使用verdaccio搭建npm私库
.安装nodejs yum install -y nodejs 2.安装verdaccio npm install -g verdaccio --unsafe-perm 3.配置 a.修改配置文件 c ...
- 使用 docker + verdaccio 搭建npm私有仓库
本文介绍如何使用 verdaccio 搭建私有npm仓库,以及使用 docker 时如何映射到本地目录,方便简单对仓库进行各种操作.系统环境是 Linux. verdaccio verdaccio 是 ...
随机推荐
- C#锐利体验2读书笔记
匿名方法,迭代,匿名方法允许我们以一种“内联”的方法来编写方法代码;匿名方法是直接与委托实例化相关联的,使委托实例化更加直观方便.匿名方法的几个相关问题--参数列表,--返回值,--外部变量. add ...
- IGC(Interleaved Group Convolutions)
深度学习被引起关注是在2012年,用神经网络训练的一个分类模型在ImagNet上取得了第一名,而且其分类精度比第二名高出10多个点,当时所使用的模型为AlexNet,现在看来其为一个比较简单的网络,而 ...
- BM递推杜教版
#include <bits/stdc++.h> using namespace std; #define rep(i,a,n) for (long long i=a;i<n;i++ ...
- 让一个项目同时提交到码云和GitHub两个仓库
在项目目录里找到.git文件夹然后找到config文件. 打开这个文件后找到下面的代码 [remote "origin"] url = git提交地址 fetch = +refs/ ...
- VisualStudio 2019 Serials
9DP6T-9AGWG-KWV33-9MPC8-JDCVF 7G2HE-JR8KL-ABB9D-Y7789-GLNFL U2PWU-H7D9H-69T3B-JEYC2-3R2NG R8R8P-MTT6 ...
- 使用if和switch制作简单的年龄生肖判断
-年 查询 --> var oDiv =document.getElementById("cont"); var oYear = document.getElementByI ...
- Redis存储Hash
结构: 1.存取操作: (1)单个存取: (2)一次存储多个,单个取出: 一次取出多个·: (3)取出全部的键和值: 2.删除: (1)删除单个键值对: (2)删除所有键值对: 3.增加数值: 4.减 ...
- 【数位DP】数字统计
题目 给定两个正整数a和b,求在[a,b]中的所有整数中,每个数码(digit)各出现了多少次. 数位DP (1)分情况,逐位讨论. (2)模型:计算在[L,R]中有多少个数满足条件. (3)套路:将 ...
- 2019 SDN第6次上机作业
1.作业要求: 作业链接 参考资料: Ryu控制器的API文档:ryu.app.ofctl_rest Ryu的拓扑展示 助教博客:基于RYU restful api实现的VLAN网络虚拟化 2.具体操 ...
- 转载:Base64编解码介绍
https://www.liaoxuefeng.com/wiki/897692888725344/949441536192576 Base64是一种用64个字符来表示任意二进制数据的方法. 用记事本打 ...