Skip to content

Instantly share code, notes, and snippets.

@dstrelau
Created February 15, 2012 01:13
Show Gist options
  • Save dstrelau/1832262 to your computer and use it in GitHub Desktop.
Save dstrelau/1832262 to your computer and use it in GitHub Desktop.
Gemfile
source :rubygems
gem 'rails', '3.1.3' # depends on rack 1.3.x
gem 'rack', '1.4.1'
$ rbx -S bundle -v
Bundler version 1.1.rc.7
$ rbx -v
rubinius 2.0.0dev (1.9.3 01942925 yyyy-mm-dd JI) [x86_64-apple-darwin11.3.0]
$ rbx -S bundle --path bundle
Fetching gem metadata from http://rubygems.org/.........
Unfortunately, a fatal error has occurred. Please report this error to the Bundler issue tracker at https://github.com/carlhuda/bundler/issues so that we can fix it. Thanks!
An exception occurred running ~/.rbenv/versions/rbx-2.0.0-dev/1.9/bin/bundle
undefined method `name' on an instance of Array. (NoMethodError)
Backtrace:
Kernel(Array)#name (method_missing) at kernel/delta/kernel.rb:81
{ } in Bundler::Resolver#error_message at ~/.rbenv/versions
/rbx-2.0.0-dev/1.9/gems
/bundler-1.1.rc.7/lib/bundler
/resolver.rb:429
{ } in Enumerable(Hash)#inject at kernel/common/enumerable.rb:220
Hash#each at kernel/common/hash19.rb:403
Enumerable(Hash)#inject at kernel/common/enumerable.rb:215
Bundler::Resolver#error_message at ~/.rbenv/versions
/rbx-2.0.0-dev/1.9/gems
/bundler-1.1.rc.7/lib/bundler
/resolver.rb:424
Bundler::Resolver#version_conflict at ~/.rbenv/versions
/rbx-2.0.0-dev/1.9/gems
/bundler-1.1.rc.7/lib/bundler
/resolver.rb:405
{ } in Bundler::Resolver.resolve at ~/.rbenv/versions
/rbx-2.0.0-dev/1.9/gems
/bundler-1.1.rc.7/lib/bundler
/resolver.rb:129
{ } in Kernel(Class)#catch at kernel/common/throw_catch19.rb:8
Rubinius::ThrownValue.register at kernel/common/throw_catch.rb:10
Kernel(Class)#catch at kernel/common/throw_catch19.rb:7
Bundler::Resolver.resolve at ~/.rbenv/versions
/rbx-2.0.0-dev/1.9/gems
/bundler-1.1.rc.7/lib/bundler
/resolver.rb:127
Bundler::Definition#resolve at ~/.rbenv/versions
/rbx-2.0.0-dev/1.9/gems
/bundler-1.1.rc.7/lib/bundler
/definition.rb:155
Bundler::Definition#specs at ~/.rbenv/versions
/rbx-2.0.0-dev/1.9/gems
/bundler-1.1.rc.7/lib/bundler
/definition.rb:90
Bundler::Definition#resolve_remotely! at ~/.rbenv/versions
/rbx-2.0.0-dev/1.9/gems
/bundler-1.1.rc.7/lib/bundler
/definition.rb:85
Bundler::Installer#run at ~/.rbenv/versions
/rbx-2.0.0-dev/1.9/gems
/bundler-1.1.rc.7/lib/bundler
/installer.rb:48
Bundler::Installer.install at ~/.rbenv/versions
/rbx-2.0.0-dev/1.9/gems
/bundler-1.1.rc.7/lib/bundler
/installer.rb:12
Bundler::CLI#install at ~/.rbenv/versions
/rbx-2.0.0-dev/1.9/gems
/bundler-1.1.rc.7/lib/bundler
/cli.rb:220
Thor::Task#run at ~/.rbenv/versions
/rbx-2.0.0-dev/1.9/gems
/bundler-1.1.rc.7/lib/bundler/vendor
/thor/task.rb:22
Thor::Invocation(Bundler::CLI)#invoke_task at ~/.rbenv/versions
/rbx-2.0.0-dev/1.9/gems
/bundler-1.1.rc.7/lib/bundler
/vendor/thor/invocation.rb:118
Thor.dispatch at ~/.rbenv/versions
/rbx-2.0.0-dev/1.9/gems
/bundler-1.1.rc.7/lib/bundler/vendor
/thor.rb:263
Thor::Base::ClassMethods(Class)#start at ~/.rbenv/versions
/rbx-2.0.0-dev/1.9/gems
/bundler-1.1.rc.7/lib/bundler/vendor
/thor/base.rb:386
Object#__script__ at ~/.rbenv/versions
/rbx-2.0.0-dev/1.9/gems
/bundler-1.1.rc.7/bin/bundle:13
Kernel(Object)#load at kernel/common/kernel.rb:588
Object#__script__ at ~/.rbenv/versions
/rbx-2.0.0-dev/1.9/bin/bundle:19
Rubinius::CodeLoader#load_script at kernel/delta/codeloader.rb:67
Rubinius::CodeLoader.load_script at kernel/delta/codeloader.rb:109
Rubinius::Loader#script at kernel/loader.rb:630
Rubinius::Loader#main at kernel/loader.rb:834
$ bundle -v
Bundler version 1.1.rc.7
$ ruby -v
ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-darwin11.2.0]
$ bundle --path bundle
Fetching gem metadata from http://rubygems.org/.........
Bundler could not find compatible versions for gem "rack":
In Gemfile:
rails (= 3.1.3) ruby depends on
rack (~> 1.3.5) ruby
rack (1.4.1)
@dstrelau
Copy link
Author

turns out this is due to a bug in rubinius:

[~] ruby -v ; ruby -e '{k: [:a, :b]}.inject("") {|o, (k, (a, b))| p k, a, b }'                                                                                                   
rubinius 2.0.0dev (1.9.3 01942925 yyyy-mm-dd JI) [x86_64-apple-darwin11.3.0]
:k
[:a, :b]
nil
[~] ruby -v ; ruby -e '{k: [:a, :b]}.inject("") {|o, (k, (a, b))| p k, a, b }'                                                                                                   
ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-darwin11.2.0]
:k
:a
:b

@zhengjia
Copy link

Did you submit a bug report?
I installed rbx yesterday and still have the same problem.

rubinius 2.0.0dev (1.9.3 c601acf0 yyyy-mm-dd JI) [x86_64-apple-darwin10.8.0]

@dstrelau
Copy link
Author

@zhengjia I did submit an issue, and it looks like it was fixed: rubinius/rubinius#1562

I don't see the same issue with a build from 2 days ago:

[~] ruby -v ; ruby -e '{k: [:a, :b]}.inject("") {|o, (k, (a, b))| p k, a, b }'                                                                                                   
rubinius 2.0.0dev (1.9.3 a8a5f52d yyyy-mm-dd JI) [x86_64-apple-darwin12.0.0]
:k
:a
:b

@zhengjia
Copy link

Thanks dstrelau. I dig it a bit and found line 81 on kernel/delta/kernel.rb:81 is a general method_missing method. It seems the actual problem for me was that I didn't have libyaml installed. The yaml file couldn't be parsed in bundler and it was loaded as a string instead of a hash. So when the key? method is called on the string it throws the exception. I installed libyaml and reinstalled rubinius and it start to work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment