Description of problem: Since Fedora split bigdecimal, io-console and json out of Ruby's stdlib, and into /usr/share/gems and /usr/lib/gems/exts, rubygem-bundler had to be patched to support these new directories. However, these libraries have not yet been officially removed from Ruby stdlib. Thus the majority of Ruby projects do not define dependencies on them, and expect them to be requirable with no additional configuration. Currently, rubygem-bundler will only allow a Ruby project to require bigdecimal, io-console or json, if there are no dependencies on them in the project's gemspec file. This makes Ruby development very difficult on Fedora 17. Proposed Solution: Always add /usr/lib/gems/exts/*/{lib,ext} and /usr/share/gems/gems/*/lib to $LOAD_PATHS and never remove them. This will satisfy the expectation that bigdecimal, io-console and json are still part of Ruby's stdlib. Version-Release number of selected component (if applicable): rubygem-bundler-1.0.21 How reproducible: Steps to Reproduce: 1. yum install rubygem-bundler 2. echo "source :rubygems" > Gemfile 3. bundle install 4. ruby -e "require 'bundler'; Bundler.setup; require 'bigdecimal'" Actual results: -e:1:in `require': cannot load such file -- bigdecimal (LoadError) Expected results: bigdecimal is loaded. Additional info:
A workaround to this issue is to add symlinks for bigdecimal, io-console and json files into /usr/lib/ruby and /usr/share/ruby. https://gist.github.com/2872017
The issue is broader than you think. While your workaround my solve your immediate issues, it does not solve the issue in its whole complexity, as long as it is not handled correctly by Ruby upstream in the first place [1]. In the meantime, please use rubygems packaged by Fedora, which do not suffer by this issues. Thank you. [1] http://bugs.ruby-lang.org/issues/6124