搭建自己的npm仓库
第一步:安装Erlang环境
首先,安装必要的库
|
yum install build-essential yum install libncurses5-dev yum install libssl-dev yum install m4 yum install unixodbc unixodbc-dev yum install freeglut3-dev libwxgtk2.8-dev yum install xsltproc yum install fop yum install tk8.5 yum install ncurses-devel yum install zip yum install libicu-devel |
编译安装Erlang环境
|
tar –zxvf otp_src_R16B.tar.gz cd otp_src_R16B ./configure make make install |
验证是否安装成功
输入erl
第二步:安装CouchDB
解压编译安装CouchDB
|
tar –zxvf apache-couchdb-1.5.0.tar.gz cd apache-couchdb-1.5.0 make & make install |
CouchDB的安装还需要依赖Mozilla的SpiderMonkey来执行一些javascript代码
|
wget http://ftp.mozilla.org/pub/mozilla.org/js/js185-1.0.0.tar.gz tar –zxvf js185-1.0.0 autoconf-2.13 ./configure make make install 配置环境变量 export LD_LIBRARY_PATH=/usr/local/lib |
启动CouchDB
|
./couchdb & curl –I http://127.0.0.1:5984/ |
第三步:搭建NPM仓库
- 创建NPM数据库。首先,我们需要调用CouchDB的接口为创建一个数据库,之后所有的模块包文件将作为保存在这个数据库中。
curl –X PUT http://127.0.0.1:5984/registry
- 获取NPM仓库源代码。相关命令如下:
git clone https://github.com/isaacs/npmjs.org.git
cd npmjs.org
- 获取安装工具。
sudo npm install couchapp –g
npm install couchapp
npm install semver
- 装在NPM仓库代码到CouchDB中
couchapp push registery/app.js http://127.0.0.1:5984/registry
Preparing.
Serializing.
PUT http://127.0.0.1:5984/registry/_design/scratch
Finished push. 1-4dd18325b8d8c5e60d….
couchapp push www/app.js http://127.0.0.1:5984/registry
PUT http://127.0.0.1:5984/registry/_design/ui
- 配合NPM客户端。任意需要从本地NPM仓库进行操作的命令,只要加入—registry=http://127.0.0.1:5984/registry/_design/scratch/_rewrite即可。
npm install plusplus –registry=http://127.0.0.1:5984/registry/_design/scratch/_rewrite
为了解决命令行过长不容易牢记的问题,可以使用如下方法:
npm config set registry http://127.0.0.1:5984/registry/_design/scratch/_rewrite
这个方法的一个问题在于,如果经常需要在官方仓库和本地仓库切换,那就比较麻烦。为此,我们可以利用bash中的alias功能来解决这个问题。在~/.profile文件的结尾处添加如下这行代码:
alias lnpm=’npm –registry=http://127.0.0.1:5984/registry/_design/scratch/_rewrite’
重新启动命令行,npm操作的是官方仓库,lnpm操作的则是本地仓库。其余参数和命名均相同。
第四步:应用
- 镜像仓库
- 私有模块应用
- 纯私有仓库
搭建自己的npm仓库的更多相关文章
- 深入浅出Node.js (附录D) - 搭建局域NPM仓库
D.1 NPM仓库的安装 D.1.1 安装Erlang和CouchDB D.1.2 搭建NPM仓库 D.2 高阶应用 D.2.1 镜像仓库 D.2.2 私有模块应用 D.2.3 纯私有仓库 D.3 总 ...
- 使用cnpm搭建私有NPM仓库 发布npm包
关于如何使用cnpm搭建私有的npm仓库看这里→ http://blog.fens.me/nodejs-cnpm-npm/ 我本人还没有机会真正实践操作过,公司的npm仓库是我老大搭建的,我这里仅仅记 ...
- 使用cnpm搭建企业内部私有NPM仓库
cnpm是企业内部搭建npm镜像和私有npm仓库的开源方案.它同时解决了现有npm架构的一些问题. 为什么企业需要私有NPM 主要有如下理由: 确保npm服务快速.稳定:对于企业来说,上线生产系统的时 ...
- 使用Sinopia搭建私有npm仓库
使用Sinopia搭建私有npm仓库 在用npm装包的时候,每次都要下载一大堆,慢且不说,npm还老被墙,所以就想到在公司内部搭建npm仓库镜像.大概看了几个,觉得Sinopia最简单也好用,所以就使 ...
- 私有 npm 仓库的搭建
cnpm 是企业内部搭建 npm 镜像和私有 npm 仓库的开源方案,当企业业务逻辑相关的模块可能不适合开源.这部分私有的模块就可以放在私有 npm 仓库中来管理和维护. 以下为搭建私有 npm 的详 ...
- 私有化轻量级持续集成部署方案--07-私有NPM仓库-Verdaccio
提示:本系列笔记全部存在于 Github, 可以直接在 Github 查看全部笔记 对于个人来说,私有NPM仓库 作用性基本很小,但是对于企业,私有NPM仓库 可以保护代码暴露,具有很大的意义. 也是 ...
- 基于vue的脚手架开发与发布到npm仓库
什么是脚手架 在项目比较多而且杂的环境下,有时候我们想统一一下各个项目技术栈或者一些插件/组件的封装习惯,但是每次从零开发一个新项目的时候,总是会重复做一些类似于复制粘贴的工作,这是一个很头疼的事情, ...
- 搭建企业内部yum仓库(centos6+centos7+epel源)
搭建自己的yum仓库,将自己制作好的rpm包,添加到自己的yum源中. yum仓库服务端配置如下 : 1. 创建yum仓库目录 mkdir -p /data/yum_data/cd /data/yum ...
- 在Dropbox上搭建私有的Git仓库的教程
导读 Git版本控制系统需要一个服务器端,而GitHub上要想创建私有的Git服务器端仓库则触及到收费项目,于是这里我们利用Dropbox的免费空间,来看一下在Dropbox上搭建私有的Git仓库的教 ...
随机推荐
- 用dnSpy破解某旅游系统5.2版。
某系统是网上最常见也是目前最好用的旅游站系统之一,5.1版本之前采用的maxtocode加壳后可以用de4dot反混淆后破解.5.1版本以后用de4dot无法脱壳. 本文仅限学习和讨论,请勿做侵权使用 ...
- 第一百六十二节,jQuery入门介绍
jQuery入门 学习要点: 1.什么是 jQuery 2.学习 jQuery的条件 3.jQuery的版本 4.jQuery的功能和优势 5.其他 JavaScript库 6.是否兼容低版本 I ...
- 读取Properties文件六种方法
1.使用java.util.Properties类的load()方法 示例: InputStream in = lnew BufferedInputStream(new FileInputStream ...
- FireBug与FirePHP
a.FireBug,平时用的比较多.就是在客户端调试代码.如:hTML ,CSS,JS等 b.FireBug安装较容易. b-1,打开火狐浏览器 b-2,打开“附加组件” b-3.搜索“firebug ...
- (转)SQL执行顺序
SQL语句理解:http://blog.jobbole.com/55086/ 窗口函数/分析函数:http://blog.csdn.net/mfkpie/article/details/1636451 ...
- java字符编码(转)
转载:http://blog.csdn.net/peach99999/article/details/7231247 深入讨论java乱码问题 几种常见的编码格式 为什么要编码 不知道大家有没有想过一 ...
- django数据库读写分离,分库
读写分离 在settings中配置不同名称的数据库连接参数,并配置一条数据库选择路由 DATABASES = { 'default': { 'ENGINE': 'django.db.backends. ...
- iOS应用开发最佳实践:编写高质量的Objective-C代码
本文转载至 http://www.cocoachina.com/industry/20131129/7445.html 点标记语法 属性和幂等方法(多次调用和一次调用返回的结果相同)使用点标记语法访问 ...
- Lisp语言简介
摘自维基百科,原链接为:http://zh.wikipedia.org/zh/LISP 因为Clojure是Lisp的一种的方言,所以我们可以先来了解一下Lisp这个比较小众的编程到底是什么~ --- ...
- 2154: Crash的数字表格
2154: Crash的数字表格 Time Limit: 20 Sec Memory Limit: 259 MBSubmit: 3372 Solved: 1258[Submit][Status][ ...