我希望在 OS X 上将 CouchDB 作为每个用户启动代理运行。我使用 CouchDB Server.app 中的 coucdbx-core 文件夹作为我的 CouchDB 部署的基础。
我希望每个用户都有自己的 Couch 实例(在不同的端口上),因此每个实例都需要单独的配置文件。将这些文件放在每个~/Library/Application Support/
用户的 中是合理的。我可以将整个发行版放在 中~/Library/Application Support/my-app/coucdbx
,并将 .ini 放在 中。以(从)~/Library/Application Support/my-app/local.ini
启动 Couchdb效果很好。但我想为每个用户保存约 50MB 的 Couchdbx,并将 Couchdbx-core 安装在共享位置(例如,在我的应用程序的 .app 包中)。当我这样做时,每个用户配置文件的路径包含一个空格,并且在启动 CouchDB 时出现以下错误:bin/couchdb -a ../local.ini
~/Library/Application Support/my-app/coucdbx
$ bin/couchdb -n -a ~/Library/Application\ Support/us.physion.ovation/default.ini
{"init terminating in do_boot",{{badmatch,{error,{bad_return,{{couch_app,start,[normal,["/Users/hs/prj/build-couchdb/build/etc/couchdb/default.ini","/Users/hs/prj/build-couchdb/build/etc/couchdb/local.ini"]]},{'EXIT',{{badmatch,{error,{error,enoent}}},[{couch_server_sup,start_server,1,[{file,"/Users/hs/prj/build-couchdb/dependencies/couchdb/src/couchdb/couch_server_sup.erl"},{line,56}]},{application_master,start_it_old,4,[{file,"application_master.erl"},{line,274}]}]}}}}}},[{couch,start,0,[{file,"/Users/hs/prj/build-couchdb/dependencies/couchdb/src/couchdb/couch.erl"},{line,18}]},{init,start_it,1,[]},{init,start_em,1,[]}]}}
如果配置文件的路径包含空格,是否有任何方法可以在命令行中提供配置文件?尽管我在邮件列表档案、wiki 和 Google 中尽了最大努力,但我还是无法找到解决方案或明确的“它无法工作”。任何帮助都非常感谢。
答案1
Jens Alfke 回应[电子邮件保护]:
我在 CouchDB 或 Erlang 的其他地方也发现路径中的空格存在问题,因此如果存在错误,我不会感到惊讶。