> CentOS > CentOS教程 >

centos6.5安装私有npm

搭建自己的私有npm库

1安装Couchdb1.6

[root@npm_private ~]#yum install libicu-devel openssl-devel curl-devel make gcc erlang js-devel libtool which gcc-c++
[root@npm_private ~]#wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
[root@npm_private ~]#rpm -Uvh remi-release-6.rpm epel-release-6-8.noarch.rpm
[root@npm_private ~]#yum install libicu-devel openssl-devel curl-devel make gcc erlang js-devel libtool which gcc-c++
[root@npm_private ~]#wget http://www.eng.lsu.edu/mirrors/apache/couchdb/source/1.6.0/apache-couchdb-1.6.0.tar.gz
[root@npm_private ~]#gunzip -c apache-couchdb-1.6.0.tar.gz | tar -xvf -
[root@npm_private ~]#cd apache-couchdb-1.6.0
[root@npm_private ~]#./configure --with-erlang=/usr/local/lib/erlang/usr/include/
[root@npm_private ~]#make
[root@npm_private ~]#make install
[root@npm_private ~]#adduser -r --home /usr/local/var/lib/couchdb -M --shell /bin/bash --comment "CouchDB Administrator" couchdb
[root@npm_private ~]#chown -R couchdb:couchdb /usr/local/etc/couchdb
[root@npm_private ~]#chown -R couchdb /usr/local/var/lib/couchdb
[root@npm_private ~]#chown -R couchdb /usr/local/var/run/couchdb
[root@npm_private ~]#chown -R couchdb:couchdb /usr/local/var/log/couchdb
[root@npm_private ~]#chmod -R 0770 /usr/local/etc/couchdb
[root@npm_private ~]#chmod -R 0770 /usr/local/var/lib/couchdb
[root@npm_private ~]#chmod -R 0770 /usr/local/var/log/couchdb
[root@npm_private ~]#chmod -R 0770 /usr/local/var/run/couchdb
[root@npm_private ~]#ln -s /usr/local/etc/rc.d/couchdb /etc/init.d/couchdb
[root@npm_private ~]#chkconfig --add couchdb
[root@npm_private ~]#chkconfig --level 1234 couchdb on
[root@npm_private ~]#vi /usr/local/etc/couchdb/local.ini
[httpd]
;port = 5984
;bind_address = 127.0.0.1
bind_address = x.x.x.x
[root@npm_private ~]# service iptables stop

2.Couchdb追加用户

打开管理画面:http://x.x.x.x:5984/_utils/ 
点击画面右下角的“Fix this”,创建用户。admin/admin

3.创建npm数据库

[root@npm_private ~]# curl -X PUT http://admin:admin@ipaddress:5984/registry 
{“ok”:true}

4.配置npm用数据库

[root@npm_private ~]# vi /usr/local/etc/couchdb/local.ini
[couch_httpd_auth]
public_fields = appdotnet, avatar, avatarMedium, avatarLarge, date, email, fields, freenode, fullname, github, homepage, name, roles, twitter, type, _id, _rev
users_db_public = true

[httpd]
secure_rewrites = false

[couchdb]
delayed_commits = false

5.安装git和node

[root@npm_private ~]# yum install git
[root@npm_private ~]# yum install npm
[root@npm_private ~]# rpm --import https://fedoraproject.org/static/0608B895.txt
[root@npm_private ~]# rpm -Uvh http://download-i2.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
[root@npm_private ~]# yum install nodejs npm --enablerepo=epel

6.安装 npm-registry-couchapp

[root@npm_private ~]# git clone git://github.com/npm/npm-registry-couchapp
[root@npm_private ~]# cd npm-registry-couchapp/
[root@npm_private npm-registry-couchapp]# npm install
[root@npm_private npm-registry-couchapp]# npm start --npm-registry-couchapp:couch=http://admin:admin@ipaddress:5984/registry
[root@npm_private npm-registry-couchapp]# npm run load --npm-registry-couchapp:couch=http://admin:admin@ipaddress:5984/registry

7.同步官方npm库

[root@npm_private npm-registry-couchapp]# curl -X POST http://admin:admin@ipaddress:5984/_replicate -d '{"source":"http://isaacs.iriscouch.com/registry/", "target":"registry", "create_target":true}' -H "Content-Type: application/json"

8. 查找本地.npmrc文件

$ npm config ls -l
...
userconfig = "/xxxxxxx/.npmrc"
...

9.在本地定义.npmrc

registry = http://ipaddress:5984/registry/_design/scratch/_rewrite

10. 发布npm包

私有包不用注册官网的npm账号,直接npm adduser开始就行。
http://my.oschina.net/shanhe/blog/280441


(责任编辑:IT)