Назад | Перейти на главную страницу

Couchdb v1.1.0 `Object.keys не является функцией`

В моей локальной настройке 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, если у вас возникнут какие-либо проблемы! Я стараюсь, чтобы он работал как можно лучше на текущих ОС.