看了关于CouchDB一篇文章http://www.ibm.com/developerworks/cn/opensource/os-php-couchdb/,就想试试这玩意。
找了台服务器就开装,然而,redhat没有api-get,也没yum.得,源码安装吧。
baidu了一下,关于couchDB安装的,大约都是ubantu,要不就是简单的让你sudo api-get couchdb。只好采用最有效,可平时却是我们最不爱作的事:看readme。
readme是个好东西,真的。一个软件好不好,最明显的标志,就是它是否好好写了readme。有多少的开发人员(包括我),都不爱写这玩意,甚至就写一句“welcome”就完事,唉,怪不得成不了大牛。
扯远了。
1、安装spiderMonkey
先下http://ftp.mozilla.org/pub/mozilla.org/js/js-1.7.0.tar.gz
tar zxvf js-1.7.0.tar.gz
cd js/src
make BUILD_OPT=1 -f Makefile.ref
sudo make BUILD_OPT=1 JS_DIST=/usr/local -f Makefile.ref export
(可参见http://wiki.apache.org/couchdb/Installing_SpiderMonkey)就这个就让我费了半天的劲,还是按configure && make &&make install的套路,发现根本没configure,后来作了build那一步,又发现install不了。手动拷?还不累死呀!再说也不知拷到哪里,一路顺着couchdb的wiki找,才找到这页(这个wiki好像挺不靠谱,首页上啥也没有),再后来没有加build-opt这参数,最后,我服了,咱就照这文档,复制粘贴,一字不落,终于装上了。
2、安装icu
baidu居然找的都临床病房什么的,google又连不上。。。。。
最可气,wiki上给出的地址http://ibm.com/software/globalization/icu/还打不开了。想骂人了。。。。。
http://download.icu-project.org/files/icu4c/4.2.1/icu4c-4_2_1-src.tgz 还是找到了这个宝贵的网址,赶紧wget
下面还顺利,tar && configure && make &&make install
3、安装curl
curl我本来有,用的好好的,可couchDB说版本要>7.18.0,我一看,我是7.12,接着装
装curl倒是轻车熟路,略了
4、安装erlang
http://www.erlang.org/download/otp_src_R13B03.tar.gz
因http://wiki.apache.org/couchdb/Error_messages有这么一种error
所以选了个高版本的。下载很慢,不过还顺利 configure && make &&make install就OK了
上述icu curl erlang因都装在/usr/local下,make install时要加sudo。未敢自定义安装,怕CouchDB找不到。
5、安装CouchDB
http://apache.etoak.com/couchdb/0.11.0/apache-couchdb-0.11.0.tar.gz
tar zxvf apache-couchdb-0.11.0
cd apache-couchdb-0.11.0
./configure --with-js-lib=/usr/local/spidermonkey/lib64 --with-js-include=/usr/local/spidermonkey/include --prefix=/mypath/couchdb
make && make install
为什么要装在自己定义的目录下呢?因为如果装在/usr/local下,运行时则会报错,无权限操作该目录。
最后以为大功告成,就couchdb start了,可netstat一下,发现未启动,原因是libicuu.so.41未找到,可它分明就在/usr/local/lib下呀!
http://wiki.apache.org/couchdb/Error_messages这个页面的存在非常地有必要(是不是作者已预料到大家会遇上很多问题?)查了一下,得设置LD_LIBRARY_PATH
LD_LIBRARY_PATH=/usr/local/lib:/usr/local/spidermonkey/lib /mypath/couchdB
哦,终于起来了。。。。。。。。。。。