在Amazon OpsWorks上使用Ruby 2.0

我想在Amazon OpsWorks上使用Ruby 2.0,所以我正在尝试以下方法:

  • 选择自定义cookbook并将它们设置为我的https://github.com/aws/opsworks-cookbooks的分支
  • 将https://github.com/aws/opsworks-cookbooks/blob/master/ruby/attributes/ruby.rb中的所有版本号更新为2.0值。

但这似乎没有任何影响。

  • 自定义烹饪书是否覆盖了他们的内置对应物?
  • OpsWorks是否使用菜谱中的Ruby配方进行基本的Ruby设置?
  • 同样的问题也适用于Nginx – 我可以通过更改我的食谱叉来控制版本和设置吗?

OpsWorks现在完全支持Ruby 2.0,在Layer设置中,您可以指定Rails,Bundler和Rubygems的版本。

OpsWorks截图

Opsworks已经支持Ruby 2.0,它不是通过UI公开的。 但是,您只需传入以下自定义JSON即可轻松启用它

{ "opsworks" : { "ruby_version" : "2.0.0" } } 

而已! 无需安装任何自定义包或任何东西。

OpsWorks自己分发一些软件包,而Ruby 2.0现在不属于它。 如果你想使用Ruby 2.0,你必须自己安装它。

最好,丹尼尔

在AWS opsworks上使用rails 4.0部署ruby 2.0

更新堆栈json

{ "opsworks" : { "ruby_version" : "2.0.0" } }

更新rails app图层。

在“Rails App Layer”中,确保将rubygem版本升级为2.X(默认为1.8.24)

否则你将得到要求mysql2 / mysql.rb [loadError] 🙁

LoadError: cannot load such file -- mysql2/mysql2