5

I'd like to use Ruby 2.0 on Amazon OpsWorks, so I'm trying the following:

This doesn't seem to have any effect, though.

  • Do custom cookbooks override their built in counterparts?
  • Does OpsWorks use the Ruby recipe from the cookbook for basic Ruby setup?
  • The same question applies to Nginx too - can I control versions and settings by changing my fork for the cookbooks?
Sudhir Jonathan
  • 16,998
  • 13
  • 66
  • 90

4 Answers4

16

Opsworks already has support for Ruby 2.0, it's just not exposed through the UI. However, you can easily enable it by simply passing in the following custom JSON

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

That's it! No need to install any custom packages or anything.

Joe Chen
  • 502
  • 6
  • 5
  • That's awesome... will check it out. Is there some documentation for this and the other available options? – Sudhir Jonathan Sep 03 '13 at 06:33
  • Thank you very much for this, this should've been the questions answer because this actually works, you can even see that the AWS cookbooks show Ruby 2.0.0 support https://github.com/aws/opsworks-cookbooks/blob/master-chef-11.4/ruby/attributes/ruby.rb – ny95 Sep 09 '13 at 01:09
  • @SudhirJonathan Documentation on Ruby top-level attributes http://docs.aws.amazon.com/opsworks/latest/userguide/attributes-json-opsworks-other.html – imgrgry Apr 24 '14 at 17:09
3

OpsWorks now fully supports Ruby 2.0, in Layer settings you can specify the version of Rails, Bundler and Rubygems.

OpsWorks Screenshot

dB.
  • 4,700
  • 2
  • 46
  • 51
0

OpsWorks distributes some of their packages their own and Ruby 2.0 is not part of it right now. If you want to use Ruby 2.0 you have to install it your own.

Best, Daniel

  • To clarify, I don't even think Debian has included the 2.0 packages as of this writing. And I think Amazon Linux is based on Debian. – Sudhir Jonathan Jun 25 '13 at 08:31
  • It's not, it's based on RHEL. And yes, there are no official .deb packages right now out there. But in this special case if you use OpsWorks cookbooks you would only get amazon maintained packages. – Daniel Spangenberg Jun 25 '13 at 21:40
0

Deploy ruby 2.0 with rails 4.0 on AWS opsworks

update stack json

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

update the rails app layer.

in your 'Rails App Layer', make sure you upgraded rubygem version to be 2.X (default is 1.8.24)

otherwise you will getting the require mysql2/mysql.rb [loadError] :(

LoadError: cannot load such file -- mysql2/mysql2

alexzg
  • 845
  • 8
  • 8