1

我最近安装了engineyard gem。当我尝试运行“ey web restart”时,出现以下错误:

/home/jplato/.rvm/gems/ruby-2.2.0/gems/engineyard-3.1.2/lib/engineyard/thor.rb:32:警告:循环参数参考 - serverside_version 从引擎场云加载应用程序数据.. . 重启 jplato / my_app / Rails4 上的服务器

'serverside_version' 的值必须为非空。

尝试设置环境变量 ENGINEYARD_SERVERSIDE_VERSION=2.2.0,以匹配服务器端适配器 gem 版本,但它不起作用。其他不使用此变量的 ey 命令(例如 ey status)工作正常。

以下是关于我的开发机器环境的一些信息:操作系统:Ubuntu 14.04

宝石-v 2.4.6

rvm -v rvm 1.26.10

宝石列表--本地

  • 机厂 (3.1.2)
  • engineyard-cloud-client (2.1.1)
  • engineyard-serverside-adapter (2.2.0)
  • 雷神(0.19.1)
4

1 回答 1

2

尝试使用 engineyard gem 本身而不是通过仪表板来部署您的应用程序。这可能会迫使 engineyard-serverside 的版本更新。我不能保证这会起作用,但你可以做一件事来排除事情(如果你还没有)。当部署通过仪表板时,它可能使用与通过 CLI 推送它不同的 engineyard-serverside 版本。那个engineyard-serverside gem 是协调应用程序服务器本身的“反弹”的东西。

或者,您可以运行:

ey ssh "/engineyard/bin/app_<appname> restart" -e your_env_name --app-servers

让 engineyard gem 在名为“your_env_name”的环境中运行该脚本(它会重新启动您的应用服务器 - 例如 Unicorn 等),并且仅在应用服务器上运行该命令。(当然,请务必将您的应用程序名称替换为 <appname>。)

如果仍然失败,您可能应该开一张支持票,因为那里可能有其他一些奇怪的事情发生。祝你好运!

于 2015-02-27T22:20:55.163 回答