当配置文件路径中有空格时,CouchDB 在启动时崩溃

当配置文件路径中有空格时,CouchDB 在启动时崩溃

我希望在 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 的其他地方也发现路径中的空格存在问题,因此如果存在错误,我不会感到惊讶。

相关内容