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) [email protected]
Logged in as rong on http://192.168.XX.XX:4873/.

然后在verdaccion启动页面尝试登录即可,默认登录后有发布包的权限。(这里可以通过修改config.yaml配置文件来对权限进行设置)、

到这里服务器端的搭建就完毕了,下篇我们来介绍客户端如何使用。

原文地址:https://www.cnblogs.com/weifeng1463/p/11329394.html

时间: 2024-10-15 16:39:22

npm 私服工具verdaccio 搭建的相关文章

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

1. 安装 npm install -g verdaccio 2. 启动 verdaccio // 界面显示信息 Verdaccio doesn't need superuser privileges. Don't run it und warn --- config file - /root/.config/verdaccio/config.yaml warn --- http address - http://localhost:4873/ - verdaccio/ 3. 配置 a. 监听端

使用 Nexus3 Repository Manager 搭建 npm 私服

公司里一般都有自己的私服,用于管理封装的工具插件等,Nexus2主要是用于maven/gralde仓库的统一管理,Nexus3则添加了npm插件,可以对npm提供支持,其实用于npm仓库管理的还有一个工具sinopia,可惜的是早已停止更新. 下载安装 在官网下载Nexus Repository Manager OSS 3.x, 解压至任意位置. 管理员运行cmd, 切换到 nexus-3.15.2-01/bin 目录 nexus.exe /install 进行安装, 成功后会提示 Instal

搭建NPM私服

搭建NPM私服 由于网上文档所采用的NodeJS和CNPM版本过老,包括GitHub官网,都有或多或少的问题,最终经过折腾和整理形成这篇文档,文档中数据库选用MySQL,架设Nginx代理非必需. 1.安装NodeJS mkdir -p /App/src cd /App/src wget   tar Jxf node-v6.4.0-linux-x64.tar.xz mv node-v6.4.0-linux-x64 /App/node useradd node echo 'export PATH=

1.在cmd界面搭建react-native 环境: 可参考https://reactnative.cn/docs/0.51/getting-started.html#content   (1)npm install -g yarn react-native-cli       安装yarn命令工具和react-native命令工具,Yarn是Facebook提供的替代npm的工具,可以加速n

http://www.bubuko.com/infodetail-2599307.html 1.在cmd界面搭建react-native 环境: 可参考https://reactnative.cn/docs/0.51/getting-started.html#content (1)npm install -g yarn react-native-cli 安装yarn命令工具和react-native命令工具,Yarn是Facebook提供的替代npm的工具,可以加速node模块的下载. Reac

使用verdaccio 搭建私有npm 服务器

原因 方便:公司内部开发的私有包,统一管理,方便开发和使用 安全:公司内部开发的代码并不想公开 加速:自建的服务器会缓存下载过的包,能节省时间 介绍 Verdaccio是一个简单的零配置所需的本地私有npm注册表.不需要整个数据库就可以开始使用!Verdaccio开箱即用,拥有自己的小型数据库,能够代理其他注册表(例如npmjs.org),沿途缓存下载的模块. 使用 1.安装 npm install --global verdaccio 或者用yarn global add verdaccio安

Nexus 3 搭建 npm 私服 (windows)

Nexus 3 搭建 npm 私服备忘 下载与安装 在官网下载Nexus Repository Manager OSS 3.x, 解压至任意位置. 管理员运行 powershell, 切换到 nexus-3.x/bin 目录 $ nexus.exe /install 进行安装, 成功后会提示 Installed service 'nexus $ nexus.exe /run 运行服务, 第一次要耐心等待很久 添加npm仓库 以下输入的Name都是根据自己需求修改 启动服务后使用管理员账户登录ne

Linux下项目与事务跟踪工具JIRA搭建汉化安装详解

1,安装java环境 [Java环境安装请查阅java环境安装] 2,安装数据库并添加jira数据库和用户授权 [MySql环境安装请查阅mysql安装] mysql> create database jira charactor set 'utf8'; mysql> grant all on jiradb.* to `jira`@`%` identified by 'jira123'; mysql> flush privileges; 3,相关软件包下载地址及说明 atlassian-

开始你的第一个npm脚本工具

在实际开发中,一般刚开始一个项目或者刚接手一个项目,我们会运行 npm install 下载安装所有依赖, 在实际开发中,可能也会使用各种命令行-- 来提高我们开发的效率. 与它相处了这么久,你真的了解 npm 这些东西吗? 本篇文章会分别介绍下面几个内容: package.json 解析命令行参数 丰富终端交互体验 发布 npm 包 实战--开发小程序脚手架 项目背景:每次新建小程序页面要生成四个文件名相同的文件 ( .wxml..wxss..json  和 .js ),并且要在 app.js

用sinopia搭建npm私服

需求(这段话是摘抄参考文档的,因为作者也想这么说): 公司出于自身隐私保护需要,不想把自己的代码开源到包管理区,但是又急需一套完整包管工具,来管理越来越多的组件.模块和项目.对于前端,最熟悉的莫过于npm,bower等:但是bower的市场兼容性明显没有npm强壮,加之commonjs规范的日益成熟.npm应该是前端包管理的不二选择. 公司对于搭建本地私有npm库有如下要求: 私有包托管在内部服务器中 项目中使用了公共仓库上的公共包,也使用了内部服务器上的私有包 希望下载的时候,公共包走公共仓库