appoxy/aws

was fails with require_relative error

Closed this issue · 5 comments

pjh239-maclap:arXivLib phalliday$ ruby -v
ruby 1.8.7 (2010-01-10 patchlevel 249) [universal-darwin11.0]
pjh239-maclap:arXivLib phalliday$ gem list

*** LOCAL GEMS ***

activesupport (3.2.0)
af (0.3.12.3)
amazon-ec2 (0.9.17)
aws (2.5.6)
bacon (1.1.0)
bundler (1.0.21)
extensions (0.6.0)
git (1.2.5)
highline (1.6.9)
http_connection (1.4.1)
i18n (0.6.0)
jeweler (1.7.0)
json (1.6.5, 1.5.1)
json_pure (1.6.5, 1.5.4)
judo (0.5.3)
mime-types (1.17.2)
multi_json (1.0.4)
parseconfig (0.5.2)
rake (0.9.2.2)
rdoc (3.12)
rest-client (1.6.7)
rhc (0.84.15, 0.68.5)
rubyzip2 (2.0.2)
spruz (0.2.13)
terminal-table (1.4.4)
uuidtools (2.1.2)
xml-simple (1.1.1)
pjh239-maclap:arXivLib phalliday$ judo
/Library/Ruby/Gems/1.8/gems/aws-2.5.6/lib/awsbase/awsbase.rb:33: undefined method require_relative' for Aws:Module (NoMethodError) from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems/custom_require.rb:31:ingem_original_require'
from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in require' from /Library/Ruby/Gems/1.8/gems/aws-2.5.6/lib/right_aws.rb:40 from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems/custom_require.rb:31:ingem_original_require'
from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in require' from /Library/Ruby/Gems/1.8/gems/judo-0.5.3/bin/../lib/judo.rb:4 from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems/custom_require.rb:31:ingem_original_require'
from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in require' from /Library/Ruby/Gems/1.8/gems/judo-0.5.3/bin/judo:4 from /usr/bin/judo:19:inload'
from /usr/bin/judo:19

You need to upgrade your Ruby to 1.9 or later.

I used rvm to install macruby. The results are basically the same:

pjh239-maclap:~ phalliday$
pjh239-maclap:~ phalliday$ ruby -v
MacRuby 0.10 (ruby 1.9.2) [universal-darwin10.0, x86_64]
pjh239-maclap:~ phalliday$ gem list

*** LOCAL GEMS ***

activesupport (3.2.0)
aws (2.5.6)
http_connection (1.4.1)
i18n (0.6.0)
json (1.6.5)
judo (0.5.2)
multi_json (1.0.4)
uuidtools (2.1.2)
xml-simple (1.1.1)
pjh239-maclap:~ phalliday$ judo
/Users/phalliday/.rvm/gems/macruby-0.10/gems/judo-0.5.2/bin/judo:4:in <main>': undefined methodrequire_relative' for Aws:Class (NoMethodError)
from /Users/phalliday/.rvm/gems/macruby-0.10/bin/judo:19:in `

'
pjh239-maclap:~ phalliday$

Interesting enough using rvm install to install 1.9.3 not the macruby version seems to work. Not sure why is that:

pjh239-maclap:~ phalliday$ ruby -v
ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-darwin11.2.0]
pjh239-maclap:~ phalliday$ gem list

*** LOCAL GEMS ***

activesupport (3.2.0)
aws (2.5.6)
bundler (1.0.21 ruby)
http_connection (1.4.1)
i18n (0.6.0)
json (1.6.5)
judo (0.5.2)
multi_json (1.0.4)
rake (0.9.2)
uuidtools (2.1.2)
xml-simple (1.1.1)
pjh239-maclap:~ phalliday$ judo
Usage: judo launch [options] SERVER ...
judo create [options] SERVER ...
judo destroy [options] SERVER ...

   # SERVER can be formatted as NAME or NAME:GROUP or N:GROUP
   # where N is the number of servers to create or launch
   # 'launch' only differs from 'create' in that it immediately starts the server

   judo start [options] [SERVER ...]
   judo stop [options] [SERVER ...]
   judo restart [options] [SERVER ...]

   judo commit [options] GROUP

   judo snapshot [options] SERVER SNAPSHOT ## take an ebs snapshot of a server
   judo snapshots [options] [SERVER ...]   ## show current snapshots on servers
   judo animate [options] SNAPSHOT SERVER    ## create a new server from a snapshot
   judo erase [options] SNAPSHOT           ## erase an old snapshot

   judo swap [options] SERVER SERVER     ## swap elastic IP's and names on the two servers

   judo watch [options] SERVER         ## watch the server's boot process
   judo info [options] [SERVER ...]
   judo console [options] [SERVER ...] ## shows AWS console output
   judo ssh [options] [SERVER ...]     ## ssh's into the server

   # SERVER can be formatted as NAME or NAME:GROUP
   # or :GROUP to indicate the whole group.
   # If no servers are listed all servers are assumed.

   judo list [options]    ## lists all servers
   judo groups [options]  ## lists all groups

   judo volumes [options] ## shows all EBS volumes and what they are attached to
   judo ips [options]     ## shows all elastic ips and what they are attached to

-a, --accessid ID                Specify the AWS access ID
-s, --secret KEY                 Specify the AWS access secret key
-f, --force                      Force a stop or restart (immediately force detach volumes)
-t, --type TYPE                  Specify an instance type different from the config on server start
-D, --data KEY=VALUE             Specify metadata to attach to a server at creation time
-B, --boot KEY=VALUE             Specify special boot parameters
-i, --ip IP                      Specify an exsiting elastic_ip address on server creation
-v, --version VERSION            Update the servers config version on create/start/launch
-h, --help                       Display this screen

pjh239-maclap:~ phalliday$

Interesting. require_relative was added to ruby in 1.9 so not sure what's up with macruby. All good now?

yeah, I'll just not use macruby I guess. Hopefully, if others have the same problem they'll discover this thread. Thanks.