我最近安装了发动机厂的宝石。当我尝试运行'ey web restart'时,我收到以下错误:
/home/jplato/.rvm/gems/ruby-2.2.0/gems/engineyard-3.1.2/lib/engineyard/thor.rb:32: 警告:循环参数引用 - serverside_version正在加载 来自Engine Yard Cloud的应用程序数据...重新启动服务器 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
gem list --local
答案 0 :(得分:1)
尝试使用engineyard gem本身而不是通过仪表板推出应用程序的部署。这可能会迫使engineyard-serverside的版本更新。我不能保证这样做会有效,但是你可以做的一件事就是把事情排除在外(如果你还没有)。当部署通过仪表板时,它可能使用不同版本的engineyard-serverside,而不是通过CLI推送它。那个engineyard-serverside gem是编排应用服务器本身的“反弹”的原因。
或者,您可以运行:
ey ssh "/engineyard/bin/app_<appname> restart" -e your_env_name --app-servers
让engineyard gem在名为“your_env_name”的环境中运行该脚本(重新启动应用服务器 - 例如Unicorn等)并仅在应用程序服务器上运行该命令。 (当然,请确保将您的应用程序名称替换为&lt; appname&gt;。)
如果仍然失败,你可能应该开一张支持票,因为那里可能还有其他类似的时髦。祝你好运!