第一步:安装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操作的则是本地仓库。其余参数和命名均相同。
第四步:应用
- 镜像仓库
- 私有模块应用
- 纯私有仓库