2012-07-22 54 views
2

我想使用couchapp,couchdb構建一個示例應用程序。我也使用jquery.couch.js插件與我的本地couchdb進行通信。然而,當我嘗試將它複製到我的遠程沙發上iriscouch.com,我得到以下錯誤:複製到iriscouch失敗

Replication failed: {error, 
{{badarg, 
    [{erlang,list_to_existing_atom,["data_size"]}, 
     {couch_rep,'-dbinfo/1-lc$^0/1-0-',1}, 
     {couch_rep,'-dbinfo/1-lc$^0/1-0-',1}, 
     {couch_rep,do_init,1}, 
     {couch_rep,init,1}, 
     {gen_server,init_it,6}, 
     {proc_lib,init_p_do_apply,3}]}, 
{child,undefined,"6f5beff2bd381e02b602cee2e8e1e86d", 
    {gen_server,start_link, 
     [couch_rep, 
      ["6f5beff2bd381e02b602cee2e8e1e86d", 
      {[{<<"source">>,<<"zwaroop">>}, 
      {<<"target">>, 
       <<"http://username:[email protected]/zwaroop">>}]}, 
      {user_ctx,<<"root">>, 
       [<<"_admin">>], 
       <<"{couch_httpd_auth, cookie_authentication_handler}">>}], 
      []]}, 
    temporary,1,worker, 
    [couch_rep]}}} 

我在哪裏去了?

+0

這是一個真正的root密碼嗎? – Niloct 2012-07-22 16:57:06

回答

3

如果您使用Ubuntu 12.04(隨CouchDB v1.0.1提供),則可以使用PPA而不是從源安裝CouchDB。例如,https://launchpad.net/~novacut/+archive/daily有一個精確的1.2.0的backport;我安裝了它

$ sudo apt-add-repository ppa:novacut/daily 
$ sudo apt-get update 
$ sudo apt-get install couchdb 

升級到1.2.0後,問題解決了。

編輯:的NOVACUT庫不再承載包couchdb,如版本1.5.0已被列入在Ubuntu可信賴的(http://packages.ubuntu.com/trusty/couchdb)。

+0

couchdb已經是最新版本 0升級,0新安裝,0刪除和232未升級。但它不是。它的1.0.1 – 2015-07-05 08:01:30

+0

我相信Novacut背後的人(它實際上是一個協作視頻編輯器,而不是CouchDB本身)從一年前進入14.04以後,將'couchdb'軟件包從他們的倉庫中移除;結果,'apt-get'正在使用官方Ubuntu檔案中的版本。這是不幸的,如果你必須堅持我害怕。 – bcandrea 2015-07-21 12:55:24

1

我不知道這是否是版本不匹配?您在本地系統上使用的是什麼版本的CouchDB?

無論如何,一個快速的解決方法是編輯CouchDB的源代碼並在代碼的任何地方插入data_size

例如,src/couchdb/couch_doc.erl

-spec to_path(#doc{}) -> path(). 
to_path(#doc{revs={Start, RevIds}}=Doc) -> 
    data_size, % This no-op expression allows list_to_existing_atom 
    [Branch] = to_branch(Doc, lists:reverse(RevIds)), 
    {Start - length(RevIds) + 1, Branch}. 

但是希望我們能夠通過識別您的版本找到比這更好的。

+0

我的本地couchdb版本是1.0.1。但是iriscouch主機1.2.0。我試圖從源代碼安裝它。然而,它並沒有爲我工作。 :( – swaroopsm 2012-07-23 08:14:34