使用CNPM搭建企业内部私有的NPM库
来源:互联网 发布:冯大辉丁香园离职知乎 编辑:程序博客网 时间:2024/05/22 10:35
转载来源:一路博客(http://www.16boke.com)
1、cnpm概述
cnpm是企业内部搭建npm镜像和私有npm仓库的开源方案。它同时解决了现有npm架构的一些问题。
2、为什么企业需要私有NPM
确保npm服务快速、稳定:对于企业来说,上线生产系统的时候,需要花半小时甚至更久等待npm模块依赖安装完毕,是不可接受的。部署镜像后,可以确保高速、稳定的npm服务。
发布私有模块:官方的npm上的模块全部是开源的。一些与企业业务逻辑相关的模块可能不适合开源。这部分私有的模块放在私有NPM仓库中,使用起来各种方便。
控制npm模块质量和安全:npm上的模块质量参差不齐,搭建私有仓库,可以更严格地控制模块的质量和安全,只有经过审核的模块才允许被加入私有仓库。
3、cnpm的特点
压缩包等文件从数据库中分离,放在CDN上,减轻了数据库的压力,提高了访问速度。
使用MySQL替换了CouchDB,更容易部署。同时由于大部分开发者更熟悉MySQL,因此架设起来更方便。
CDN和MySQL都可以方便地扩展。
4、部署cnpm
获取代码
git clone git://github.com/fengmk2/cnpmjs.org.git
创建mysql库
create database cnpmjs;
use cnpmjs;
source docs/db.sql【db.sql位于cnpmjs.org/docs/db.sql】
修改配置
vim /cnpmjs.org/config/index.js
cnpm提供两个端口:7001和7002,其中7001用于NPM的注册服务,7002用于Web访问。
bindingHost为安装cnpm的服务器ip地址,也就是在浏览器中只能通过访问http://192.168.48.57来访问cnpm以及获取npm的注册服务。
按照之前创建的数据库来进行配置
4、安装依赖
进入/cnpmjs.org,执行make install
如果安装过程中报错,可能需要升级node和npm,目前我安装成功的环境为:
[root@centos6 config]# node -v
v4.3.0
[root@centos6 config]# npm -v
2.14.12
大家可以升级到我这个版本来安装
5、启动服务
node --harmony_generators dispatch.js
或者
nohup node --harmony_generators dispatch.js &
或者
node dispatch.js
或者
nohup node dispatch.js &
如果启动过程中报这个错:
[root@centos6 config]# node --harmony_generators dispatch.js
node: bad option: --harmony_generators
说明node版本不支持--harmony_generators选项,可以换成“node dispatch.js”或者“nohup node dispatch.js &”来启动。
其中nohup为在后台启动。
6、测试是否启动成功
在浏览器中输入:http://192.168.48.57:7002/,如果出现:
则说明安装启动成功。
- 使用CNPM搭建企业内部私有的NPM库
- 使用CNPM搭建企业内部私有的NPM库
- 使用cnpm搭建企业内部私有NPM仓库
- CNPM搭建私有的NPM服务
- CNPM搭建私有的NPM服务
- CNPM私有服务器搭建
- 使用sinopia搭建私有npm服务
- 使用Sinopia搭建私有npm仓库
- 【玩转树莓派】使用 sinopia 搭建私有 npm 服务器
- 关于npm-cnpm-postcss-autoprefixer以及BootStrap的使用
- 国内的npm—cnpm
- npm到cnpm的学习
- cnpm与npm的区别
- npm和cnpm的区别
- npm和cnpm的简介
- npm cnpm
- npm cnpm
- npm->cnpm
- android 背景图片选择器和颜色选择器
- CentOS 7安装Gnome GUI 图形界面
- Hibernate学习笔记(一)
- 为openwrt添加新的profile
- TabHost详解:实现底部导航栏
- 使用CNPM搭建企业内部私有的NPM库
- springMVC Model、 ModelMap 和 ModelAndView的区别
- MQTT测试工具推荐
- JDBC学习笔记
- Spark函数详解系列之RDD基本转换
- 一种海量文章排重的算法
- 三个简短的动画实现饿了么红包滑动效果
- adb 命令行参数有空格
- [leetcode 464]Can I Win