从CLI在Bluemix上安装Etherpad时出错

时间:2015-09-22 02:35:19

标签: node.js ibm-cloud etherpad

我正在尝试使用命令行界面在Bluemix上部署Etherpad版本1.5.7(https://github.com/cloudfoundry/cli/releases),符合此处的指导原则 - https://www.ng.bluemix.net/docs/starters/install_cli.html

我收到附加错误enter image description here

执行命令时出现此错误 - cf push appname https://github.com/cloundfoundry/node.js-buildpack.git

有关如何解决此错误的任何帮助都会有所帮助。 TIA。

1 个答案:

答案 0 :(得分:8)

输出中的关键信息是:

It looks like you're deploying on a stack (currently set to *lucid64*) that's not supported by this buildpack.

您可以在Bluemix中看到支持的堆栈以及它们当前设置为与命令cf stacks一起使用的顺序。如果运行此命令,您可能会看到lucid64位于列表的顶部。

根据您指定的buildpack的changelog,在v1.2.0中添加了对cflinuxfs2堆栈的支持,然后在v1.4.0中删除了lucid二进制文件。由于buildpack中不再提供lucid支持,因此您需要指定要使用的其他堆栈。这可以使用-s命令行选项来完成,以指定您在cf stacks命令中看到的值之一。实施例

cf push EtherPadOnceMore -b https://github.com/cloudfoundry/nodejs-buildpack -s cflinuxfs2

根据以下评论,如果使用http://github.com/ether/etherpad-lite/releases处的仓库部署到CloudFoundry / Bluemix,此处的信息将作为编辑添加以捕获其他步骤:

  1. 上面使用的buildpack期望package.json位于你推送的根源。将/src/package.json复制到项目的根目录并修改内容以删除“依赖项”'避免初始模块安装的部分
  2. 使用-c命令行选项指定启动命令(以模拟设置和启动脚本)。将-c "npm install src/ && node node_modules/ep_etherpad-lite/node/server.js"添加到cf push命令。
  3. 删除" ip"和" port"来自settings.json文件,以便Bluemix运行时将使用PORT环境变量(PORT会自动为您设置)