/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- cassandra (LoadError)

StackOverflow https://stackoverflow.com/questions/23542440

  •  18-07-2023
  •  | 
  •  

Question

Running Ruby class is ok by ruby1.8. but when I try to change the interpreter by updating the ruby configs:

sudo update-alternatives --config ruby

and select Ruby1.9 then I have this error every time I run my ruby class:

    /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:
in `require': cannot load such file -- cassandra (LoadError)
from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'

A piece of class custom_require.rb is :

module Kernel

  if defined?(gem_original_require) then
    # Ruby ships with a custom_require, override its require
    remove_method :require
  else
    ##
    # The Kernel#require from before RubyGems was loaded.

    alias gem_original_require require
    private :gem_original_require
  end


  def require path
    if Gem.unresolved_deps.empty? or Gem.loaded_path? path then
    #!!!!!line 36 !!!!!:  
    gem_original_require path
    else
      spec = Gem::Specification.find { |s|
        s.activated? and s.contains_requirable_file? path
      }

I read that using RVM may solve the problem but actually I have no idea about how to manage it.

please give me an idea.

Was it helpful?

Solution

Rubygems are separated by ruby version, so you need to reinstall the Cassandra gem:

gem install cassandra

Make sure that gem is pointed to the 1.9 gem.

The main reason you need to do this is to rebuild the C extensions against the 1.9 libraries.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top