4
  • 使用 setup-couchdb-1.4.0_R16B01.exe 在 Windows 7 x64 上全新安装了 Apache CouchDB

  • 可以毫无问题地访问蒲团

  • 可以以编程方式创建数据库并添加文档(包括视图)

  • 执行视图时得到下面粘贴的错误(即使在 Futon 中执行最简单的默认非编辑临时 map-reduce

    "map": "function(doc){ emit(null, doc); }"

    (在这种情况下,浏览器弹出窗口中会显示相同的错误文本)

这个错误对任何人都有意义吗?我应该从哪里开始我的调查?

笔记:

  1. 我的机器上不存在路径 c:/cygwin/relax/APACHE~1.0/src/couchdb/...
  2. 我已经尝试卸载 1.4.0 版本并将其替换为 1.3.0 甚至更旧的 1.2.0,但总是会出现同样的问题。

错误信息:

{"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}]}]}"}
4

3 回答 3

15

跑的结果是http://localhost:5984/_utils/verify_install.html什么?

当人们安装到禁用 ntfs 8.3 文件名修改的文件系统时,通常会发生此错误。各种“调整”和性能工具为您执行此操作,而无需了解后果。

最简单的解决方法是安装到没有空格的目录,例如c:\couchdb.

出现奇怪的 c:\cygwin... 行是因为在构建和编译 CouchDB 时,会返回错误消息,其中包含文件名和行号,相对于构建目录,而不是您未来的安装目录。

此外,couchdb 邮件列表是寻求支持的最佳场所(我读过它:-)。

于 2013-10-30T08:01:42.797 回答
2

noent错误意味着缺少文件。检查此文件是否存在:

c:/Program Files (x86)/Apache Software Foundation/CouchDB/lib/couch-1.4.0/priv/couchspawnkillable

由于某种原因,安装可能会在您的设置上失败。

于 2013-10-30T01:59:21.277 回答
1

这是 Erlang 而不是 CouchDB 的问题。

Erlang(与 CouchDB 捆绑在一起)仍在使用 8.3 短文件名格式(可能是由于向后兼容性),但在较新版本的 Windows 中,默认情况下禁用 8.3 名称生成[在此处阅读更多内容]

我不建议启用 8.3 文件名来解决这个问题(尽管可以),而是直接在下面安装 CouchDB C:\<foldername>(文件夹名称中没有任何空格)。

于 2014-01-23T00:38:56.747 回答