В моей локальной настройке osx у меня установлен couchdb v1.0.2. Я написал несколько сценариев для этой версии, и все они работали нормально.
На моем удаленном сервере debian 6 изначально был установлен couch v0.11.0. К сожалению, некоторые из моих скриптов вызвали Object.keys is not a function
исключения, которые нужно выбросить. Я решил, что v0.11.0 имеет старую версию javascript, поэтому я обновился до couch v1.1.0. Я следил за этими инструкции. После небольшого горя я наконец запустил v1.1.0, но ошибки не исчезли. Я все еще вижу Object.keys is not a function
исключения. Я подтвердил, что версия couch v1.1.0 установлена, запустив couchdb -V
и я несколько раз убил / перезапустил все экземпляры couch, beam и erlang.
Есть идеи, что происходит? Я обновил диван, но нужно ли отдельно обновлять движок js? Остатки v0.11.0 где-то спрятаны? я использовал apt-get remove couchdb
удалить v0.11.0. Я также использовал apt-get для его установки.
Не думаю, что у вас есть остатки v0.11.0.
Но вы правы: "Javascript" в CouchDB не является встроенным, а скорее связан с системой. libjs
или libmozjs
.
Я не уверен, как получить более новую версию Spidermonkey на OSX, однако многие люди (включая меня) используют мои Сборка CouchDB инструмент именно для этой цели. Он включает в себя собственную сборку Spidermonkey, которая делает иметь Object.keys
, Array.isArray
, и мой любимый, [].reduce()
. Сборка CouchDB не будет интегрированный глубоко в вашу ОС (в конечном итоге он просто запускает make install
). Но по большей части в OSX и Linux это так же просто, как запустить rake
.
Если вы все же попробуете Build CouchDB, сообщите о проблеме на GitHub, если у вас возникнут какие-либо проблемы! Я стараюсь, чтобы он работал как можно лучше на текущих ОС.