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 搭建的更多相关文章

  1. npm 私服工具verdaccio 安装配置试用

      1. 安装 npm install -g verdaccio 2. 启动 verdaccio // 界面显示信息 Verdaccio doesn't need superuser privileg ...

  2. vue组件库(二):基于verdaccio工具npm私服搭建

    大纲 搭建npm私服的必要性 搭建npm私服的主要操作 一.搭建npm私服的必要性 二.搭建npm私服的主要操作 1.环境准备 确保服务器已安装以下包: node(必须) 安装了nodenpm,如果想 ...

  3. 搭建npm私服流程

    npm私服必要性 1. 如果公司处于隐私保护的需要,不想将自己封的包推到npm社区,但又急需要一套完整的包管理工具来管理越来越多的组件,模块,项目.对于前端,最熟悉的莫过于npm,bower等,但是b ...

  4. 使用verdaccio 搭建npm私有仓库

    使用verdaccio 搭建npm私有仓库 1. 为什么要搭建私有的npm仓库?    随着公司的业务越来越复杂,项目迭代速度也越来越快,那么项目间的常用的业务代码共享变得非常之有必要.但是对于公司的 ...

  5. 使用 Nexus3 Repository Manager 搭建 npm 私服

    公司里一般都有自己的私服,用于管理封装的工具插件等,Nexus2主要是用于maven/gralde仓库的统一管理,Nexus3则添加了npm插件,可以对npm提供支持,其实用于npm仓库管理的还有一个 ...

  6. Nexus 3 搭建 npm 私服 (windows)

    Nexus 3 搭建 npm 私服备忘 下载与安装 在官网下载Nexus Repository Manager OSS 3.x, 解压至任意位置. 管理员运行 powershell, 切换到 nexu ...

  7. npm私服搭建

    本文是在 centos7 下利用 nexus 搭建 npm 私服的整理 一.安装 JDK 1.下载 JDK 2.安装 tar zxvf jdk-8u191-linux-x64.tar.gz .0_19 ...

  8. centos 系统使用verdaccio搭建npm私库

    .安装nodejs yum install -y nodejs 2.安装verdaccio npm install -g verdaccio --unsafe-perm 3.配置 a.修改配置文件 c ...

  9. 使用 docker + verdaccio 搭建npm私有仓库

    本文介绍如何使用 verdaccio 搭建私有npm仓库,以及使用 docker 时如何映射到本地目录,方便简单对仓库进行各种操作.系统环境是 Linux. verdaccio verdaccio 是 ...

随机推荐

  1. idea拉取最新代码弹窗(Ctrl + T)

    在此设置

  2. datediff(date1,date2) 函数的使用

    版权声明:本文为博主原创文章,未经博主允许不得转载. 在MySQL中可以使用DATEDIFF()函数计算两个日期之间的天数 语法: datediff(date1,date2) 注:date1和date ...

  3. KMP + BZOJ 4974 [Lydsy1708月赛]字符串大师

    KMP 重点:失配nxtnxtnxt数组 意义:nxt[i]nxt[i]nxt[i]表示在[0,i−1][0,i-1][0,i−1]内最长相同前后缀的长度 图示: 此时nxt[i]=jnxt[i]=j ...

  4. Tomcat配置二级域名的分配与访问

    回顾tomcat Tomcat是Apache软件基金会(Apache Software Foundation)的一个顶级项目,由Apache, Sun和其他一些公司及个人共同开发,是目前比较流行的We ...

  5. 【后缀数组】【LuoguP4248】 [AHOI2013]差异

    题目链接 题目描述 给定一个长度为 n 的字符串 S,令 Ti 表示它从第 i 个字符开始的后缀.求 \(\sum_{1\le i <j\le n}len(T_i)+len(T_j)-2*lcp ...

  6. UDP网络程序设计

    udp_server #include<stdio.h>#include<sys/socket.h>#include<string.h>#include<ne ...

  7. 48、Spark SQL之与Spark Core整合之每日top3热点搜索词统计案例实战

    一.概述 1.需求分析 数据格式: 日期 用户 搜索词 城市 平台 版本 需求: 1.筛选出符合查询条件(城市.平台.版本)的数据 2.统计出每天搜索uv排名前3的搜索词 3.按照每天的top3搜索词 ...

  8. Web前端开发(高级)下册-目录

    多媒体与绘图 多媒体音频格式视频格式 HTML5多媒体支持 <audio>和<video> htmlaudioElement和htmlVideoElement <audi ...

  9. SpringBoot:关于默认连接池Hikari的源码剖析

    1.起因 因为这两天在给公司的一个项目升级SpringBoot版本,遇到了一些坑,升级项目版本:SpringBoot1.5.x到SpringBoot2.0.x 今天早上双库操作遇到一个问题:jdbcU ...

  10. win10任务栏不显示垃圾的搜狗图标

    设置-->时间和语言-->拼写键盘和键入设置-->高级键盘设置-->语言栏选项-->语言栏-->勾选隐藏-->同时去掉在任务栏显示其他语言图标