使用setup-couchdb-1.4.0_R16B01.exe在Windows 7 x64上全新安装Apache CouchDB
可以毫无问题地访问蒲团
可以以编程方式创建数据库并添加文档(包括视图)
在执行视图时获取下面粘贴的错误(即使在Futon中执行最简单的默认非编辑临时map-reduce
"map": "function(doc){ emit(null, doc); }"
(在这种情况下,在浏览器弹出窗口中显示相同的错误文本)
这个错误对任何人都有意义吗?我应该在哪里开始调查?
注意:
错误讯息:
{"error":"EXIT",
"reason":"{{badmatch,\n
{error,\n
{enoent,\n
[{erlang,open_port,\n
[{spawn,\n
\"c:/Program Files (x86)/Apache Software Foundation/CouchDB/lib/couch-1.4.0/priv/couchspawnkillable ./couchjs.exe ../share/couchdb/server/main.js\"},\n
[stream,{line,4096},binary,exit_status,hide]],\n
[]},\n
{couch_os_process,init,1,\n
[{file,\n
\"c:/cygwin/relax/APACHE~1.0/src/couchdb/couch_os_process.erl\"},\n
{line,148}]},\n
{gen_server,init_it,6,[{file,\"gen_server.erl\"},{line,304}]},\n
{proc_lib,init_p_do_apply,3,\n
[{file,\"proc_lib.erl\"},{line,239}]}]}}},\n
[{couch_query_servers,new_process,3,\n
[{file,\"c:/cygwin/relax/APACHE~1.0/src/couchdb/couch_query_servers.erl\"},\n
{line,477}]},\n
{couch_query_servers,lang_proc,3,\n
[{file,\"c:/cygwin/relax/APACHE~1.0/src/couchdb/couch_query_servers.erl\"},\n
{line,462}]},\n
{couch_query_servers,handle_call,3,\n
[{file,\"c:/cygwin/relax/APACHE~1.0/src/couchdb/couch_query_servers.erl\"},\n
{line,334}]},\n {gen_server,handle_msg,5,[{file,\"gen_server.erl\"},{line,585}]},\n
{proc_lib,init_p_do_apply,3,[{file,\"proc_lib.erl\"},{line,239}]}]}"}
答案 0 :(得分:15)
运行http://localhost:5984/_utils/verify_install.html
的结果是什么?
当人们安装到禁用了ntfs 8.3 filename mangling的文件系统时,通常会发生此错误。各种“调整”和性能工具为您完成此操作而不了解后果。
最简单的修复是安装到没有空格的目录,例如c:\couchdb
。
奇怪的c:\ cygwin ...行出现了,因为构建了CouchDB&编译后,返回的错误消息包含相对于构建目录的文件名和行号,而不是您将来的安装目录。
此外,couchdb邮件列表是寻求支持的最佳位置(我读它: - )。
答案 1 :(得分:2)
noent
错误意味着文件丢失。检查此文件是否存在:
c:/Program Files (x86)/Apache Software Foundation/CouchDB/lib/couch-1.4.0/priv/couchspawnkillable
由于某种原因,您的设置可能会导致安装失败。
答案 2 :(得分:1)
这是Erlang而不是CouchDB的问题。
Erlang(与CouchDB捆绑)仍在使用8.3短文件名格式(可能是由于向后兼容性),但在较新版本的Windows中,默认情况下会禁用8.3名称生成 [read more here]。
我不建议启用8.3文件名来修复此问题(尽管可能),而是直接在C:\<foldername>
下安装CouchDB(文件夹名称中没有任何空格)。