工具

  • verdaccio
  • nrm
  • pm2

特点

verdaccio 的特点:

  • 不同步拉取npm库,占据大量硬盘,没有硬盘被撑爆的问题;
  • 安装配置极其简单,不需要数据库;
  • 支持配置上游registry配置,拉取即缓存;
  • 支持forever及pm2守护进程管理;
  • 私有npm package 管理
  • 支持 docker 等应用容器

verdaccio 是上一个 sinopia 的交叉分支。

安装 verdaccio

npm i verdaccio -g

安装好后,执行 verdaccio 即可以看到本地 NPM 的web管理界面。

更换 registry

不推荐

npm config set registry http://

推荐

npm i nrm -g

nrm list | nrm ls
nrm add [name] [http://url]
nrm use [name]
nrm del [name]

创建NPM账号

npm adduser | npm adduser --registry  http:// localhost:4873 /
username:***
password:***

其它用户相关命令:

npm login  #登陆
npm logout #退出
npm whoami #查看当前用户

发布package

npm publish

升级版本号

npm version patch #升级补丁版本号
npm version minor #升级副版本号
npm version major #升级主版本号

verdaccio - profile

verdaccio 的配置文件是默认存放在用户目录中的,在window上其路径是:~\Users\Administrator\.config\verdaccio

  • storage : 存放 npm包的目录。
  • config.yaml : verdaccio 的配置文件
  • htpasswd : 用于保存注册的用户。

config.yaml说明

##设置NPM包的存放目录
storage: ./storage # 配置WEB UI界面
web :
title : '搭建私有NPM'
#logo : logo.png ## 设置用户验证的文件。
auth:
htpasswd:
file: ./htpasswd
max_users: 1000 #默认为1000,改为-1,禁止注册 # 设置其它的npm注册源(registry)
uplinks:
npmjs:
url: https://registry.npmjs.org/ #配置权限管理
packages:
'@*/*':
#表示哪一类用户可以对匹配的项目进行安装 【$all 表示所有人都可以执行对应的操作,$authenticated 表示只有通过验证的人可以执行对应操作,$anonymous 表示只有匿名者可以进行对应操作(通常无用)】
access: $all
#表示哪一类用户可以对匹配的项目进行发布
publish: $authenticated '*':
#表示哪一类用户可以对匹配的项目进行安装
access: $all #表示哪一类用户可以对匹配的项目进行发布
publish: $authenticated # 如果一个npm包不存在,它会去询问设置的代理。
proxy: npmjs # 日志输出设置
logs:
- {type: stdout, format: pretty, level: http}
#- {type: file, path: verdaccio.log, level: info} #修改监听的端口
#listen: 0.0.0.0:4873

PM2启动 verdaccio

pm2 start verdaccio

还需要...

  • 在服务器上搭建
  • 按需进行用户权限分组?
  • Nginx代理

http://www.verdaccio.org/

NodeJS学习:搭建私有NPM的更多相关文章

  1. 使用Sinopia搭建私有npm仓库

    使用Sinopia搭建私有npm仓库 在用npm装包的时候,每次都要下载一大堆,慢且不说,npm还老被墙,所以就想到在公司内部搭建npm仓库镜像.大概看了几个,觉得Sinopia最简单也好用,所以就使 ...

  2. 使用cnpm搭建私有NPM仓库 发布npm包

    关于如何使用cnpm搭建私有的npm仓库看这里→ http://blog.fens.me/nodejs-cnpm-npm/ 我本人还没有机会真正实践操作过,公司的npm仓库是我老大搭建的,我这里仅仅记 ...

  3. 利用Sinopia搭建私有npm包

    1.安装sinopia包 npm install -g sinopia 如果是Windows系统用上面的方式安装sinopia很有可能报错,推荐使用下面方式安装: npm install sinopi ...

  4. 【玩转树莓派】使用 sinopia 搭建私有 npm 服务器

    简介 使用 sinopia 的好处是,node系的工程师,内部协作时,使用自有 npm 包,会非常方便:另外,sinopia,会缓存已经下载过的包,可以在相当程度上,加速 npm install 相关 ...

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

    搭建 npm 离线服务器 为什么要搭建npm 服务器 原因: 公司内部开发的私有包,统一管理,方便开发和使用 安全性,由于公司内部开发的模块和一些内容并不希望其他无关人员能够看到,但是又希望内部能方便 ...

  6. 【转】使用CNPM搭建私有NPM

    最近的Node项目中因为数据模型等问题,需要有一个对各个模块进行统一的管理,如果把私有的模型publish到公共的npm不太合适,所以决定使用cnpm搭建一个私有的npm,同时也可以对项目常用的npm ...

  7. nodejs学习笔记<五>npm使用

    NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题. 以下是几种常见使用场景: 允许用户从NPM服务器下载别人编写的第三方包到本地使用. 允许用户从NPM服务器下载并 ...

  8. 搭建前端私有npm杂记

    随着前端队伍越来越壮大,项目间共享代码就变得尤为重要.常用的框架/类库没必要在每个项目都放一份,团队内部产出的公共模块也需要有合理的共享机制.现在,用npm管理前端代码已经是业界趋势.楼主尝试用私有n ...

  9. 私有 npm 仓库的搭建

    cnpm 是企业内部搭建 npm 镜像和私有 npm 仓库的开源方案,当企业业务逻辑相关的模块可能不适合开源.这部分私有的模块就可以放在私有 npm 仓库中来管理和维护. 以下为搭建私有 npm 的详 ...

随机推荐

  1. 安装阿里云github提供的修改版minikube

    由于kubenetes域名背墙(gcr.io),如kubernetes-dashboard服务依赖不能正常使用. $ docker pull gcr.io/google_containers/paus ...

  2. 自动部署tomcat,并以普通用户身份运行 for centos6

    #!/bin/bash ######## install jdk install_jdk () { rpm -e ‘rpm -qa |grep jdk’ wget \ --no-check-certi ...

  3. luogu 4401 矿工配餐 多维dp

    五维dp,记忆化搜索会MLE超内存,所以用滚动数组,十分经典 五维dp #include <bits/stdc++.h> using namespace std; ; ][][][],la ...

  4. fatal error C1083: 无法打开包括文件: “SDKDDKVer.h”: No such file or directory(转)

    fatal error C1083: 无法打开包括文件: “SDKDDKVer.h”: No such file or directory 解决办法:(Vs2013中) 项目--右键--属性--配置属 ...

  5. 列表控件QListWidget

    列表控件可以让我们以列表形式呈现内容,是界面更加有序美观.QListWidget列表控件应当与QListWidgetItem一起使用,后者作为项被添加入列表控件中,也就是说列表控件中的每一项都是一个Q ...

  6. 字体QFont

    import sys from PyQt5.QtWidgets import QApplication, QWidget,QLabel from PyQt5.QtGui import QFont fr ...

  7. XMLHttpRequest: 网络错误 0x2f78,…00002f78

    常在河边走,怎能不湿脚,在web前端开发的过程中总是遇到很多关于IE的故事. 一个get请求,传了一个json对象,包含一串参数,在IE上就出现了这个问题:XMLHttpRequest: 网络错误 0 ...

  8. 信息检索(IR)的评价指标介绍 - 准确率、召回率、F1、mAP、ROC、AUC

    原文地址:http://blog.csdn.net/pkueecser/article/details/8229166 在信息检索.分类体系中,有一系列的指标,搞清楚这些指标对于评价检索和分类性能非常 ...

  9. nodejs前端开发环境安装

    1.       nodejs安装 要求:node版本6.2.0及以上,npm版本3.8.9及以上 Nodejs安装包地址: 2.    在rTools上下载并安装git 3.    在rTools上 ...

  10. .NET CORE 1.1 迁移到.NET 2.0正式版

    以下操作参考官方文档 1:首先你需要升级到最新版的VS 2017 15.3 升级的地方在VS右上角有个黄色的更新提醒,如果没有请挂VPN或者重新下载一个新的. 2:第二步 和之前改.NET Frame ...