处理settings.json文件时出错:未定义进程

时间:2012-11-03 15:52:24

标签: mysql node.js etherpad vmc

当我推动我的Etherpad代码时,它说

[31m [2012-11-03 15:14:00.102] [ERROR] console - [39m这是一个错误的过程 你的settings.json文件:进程未定义

此密钥代码位于

之下
/*
  This file must be valid JSON. But comments are allowed

  Please edit settings.json, not settings.json.template
*/
{
  //Ip and port which etherpad should bind at
  "ip": process.env.VCAP_APP_HOST,
  "port" : process.env.VCAP_APP_POR,

  //The Type of the database. You can choose between dirty, postgres, sqlite and mysql
  //You shouldn't use "dirty" for for anything else than testing or development
  /*"dbType" : "dirty",*/
  //the database specific settings
  /*"dbSettings" : {
                   "filename" : "var/dirty.db"
                 },*/

  /* An Example of MySQL Configuration */
   "dbType" : "mysql",
   "dbSettings" : {
                    "user"    : process.env.VCAP_SERVICES["etherpadDB"][0]["credentials"]["user"], 
                    "host"    : process.env.VCAP_SERVICES["etherpadDB"][0]["host"], 
                    "password": process.env.VCAP_SERVICES["etherpadDB"][0]["password"], 
                    "database": process.env.VCAP_SERVICES["etherpadDB"][0]["name"]
                  },



}

1 个答案:

答案 0 :(得分:0)

这肯定是因为您的文件无效JSON。 JSON没有值类型“进程”。如果使用实际值而不是引用重写文件,它应该可以工作。

所以而不是:

"ip": process.env.VCAP_APP_HOST

使用引用变量的值,如:

"ip": "10.0.0.1"

有关如何编写JSON的信息,请参阅http://www.json.org/

修改

由于您需要从Cloud Foundry在流程环境中保留的变量更新JSON配置文件的内容,因此每次启动EtherPad时都需要修改EtherPad Lite安装以重建settings.json文件精简版。

请参阅:

https://github.com/raisch/sandbox/blob/master/EtherPadLite-CloudFoundry/buildConfigFile.js

有关如何更新EtherPad Lite的说明。

请注意,由于我在Cloud Foundry没有帐户,因此我无法对此进行测试。但是,假设进程环境包含您在示例中引用的值,每次启动EtherPad Lite实例时,这将创建一个有效的settings.json文件。