Couchdb v1.1.0`Object.keys不是一个函数`

在我本地的osx设置上,我已经安装了couchdb v1.0.2。 我写了几个脚本反对这个版本,所有这些工作正常。

在我的远程Debian 6服务器上,我原来安装了v0.11.0沙发。 不幸的是,我的几个脚本导致一个Object.keys is not a functionexception被抛出。 我想v0.11.0有一个旧版本的JavaScript,所以我升级到沙发v1.1.0。 我按照这些说明 。 经过一番悲痛之后,我终于得到了v1.1.0的运行,但错误没有办法。 我仍然看到Object.keys is not a functionexception。 我已经证实,沙发的v1.1.0是通过运行couchdb -V来安装的,我已经杀死/重启了所有沙发,梁和erlang的实例几次。

任何想法发生了什么? 我升级沙发,但我也必须分别升级js引擎? v0.11.0的残余是隐藏在某处的吗? 我用apt-get remove couchdb卸载v0.11.0。 我也使用apt-get来安装它。

我不认为你有v0.11.0残余。

但是您是正确的:CouchDB中的“Javascript”不是内置的,而是链接到系统libjslibmozjs

我不确定如何在OSX上获得更新的Spidermonkey版本,但是很多人(包括我)都使用我的Build CouchDB工具来达到这个目的。 它捆绑了自己的Spidermonkey版本, 具有Object.keysArray.isArray和我最喜欢的[].reduce() 。 CouchDB的构build将不会深入地集成到您的操作系统(最终,它只是运行make install )。 但是在大多数情况下,在OSX和Linux上,它就像运行rake一样简单。

如果您尝试构buildCouchDB,请在GitHub中报告问题,如果遇到任何问题! 我试图在当前的操作系统上保持运行良好。