Issue with Data Mapper And Sinatra in Ruby 1.9.3 - ruby

I am sure this is a simple issue but since I have looked so long I cannot see it. So I am running ruby 1.9.3 with Sinatra, sqlite3, datamapper, dm-sqlite-adapter. When I try to run Sinatra, I get this:
/Users/XXX/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- datamapper (LoadError)
from /Users/XXX/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from app.rb:2:in `<main>'
Here are the first two lines:
require 'sinatra'
require 'datamapper'
The gem is installed. (datamapper (1.2.0))

You need to require data_mapper, not datamapper (note the underscore):
require 'data_mapper'
See the DataMapper getting started page.

Related

can't require ar gem even though its on my gem list

When I type
gem list
I see the following
...
activerecord (3.2.17, 3.2.13)
...
But when I type this
cat >> does_ar_exist.rb
require 'activerecord'
ActiveRecord
ruby does_ar_exist.rb
I get the following error:
/Users/xxxxxx/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_require.rb:51:in `require': cannot load such file -- activerecord (LoadError)
from /Users/xxxxxx/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_require.rb:51:in `require'
Does anyone know why this is happening?
You have to do:
require 'active_record'
instead of require 'activerecord', since the file you want to load is active_record.rb.

Failed to load gem within passenger app but gem loads in irb

I've deployed a few rails apps but just infrequently enough to feel like every time is my first time. This time I'm installing a sinatra app.
I'm using mod_passenger and I'm getting a problem with a missing gem. However it's there.
From the error in the browser I see:
no such file to load -- json (LoadError)
./application.rb:10:in `require'
./application.rb:10
config.ru:1:in `require'
config.ru:1
/usr/lib64/ruby/gems/1.8/gems/rack-1.5.2/lib/rack/builder.rb:55:in `instance_eval'
/usr/lib64/ruby/gems/1.8/gems/rack-1.5.2/lib/rack/builder.rb:55:in `initialize'
config.ru:1:in `new'
config.ru:1
The top of the file looks like this:
require 'rubygems'
require 'sinatra'
require 'json'
require 'sequel'
require 'sinatra/sequel'
(there are comments above these lines, hence the line number differences)
When I open irb and try to require the gems it works:
irb(main):001:0> require 'rubygems'
=> true
irb(main):002:0> require 'json'
=> true
Sadly, I'm using RHEL 6.2 which is different enough from Ubuntu that I'm a little uncomfortable. But based on my understanding this should work.
Any ideas on things I could look for to see what could cause my problem?
are you sure that passenger is running the same ruby version like irb?

LoadError on require 'tagfile/tagfile'

When I try to require the tagfile/tagfile which is part of rtaglib I get a LoadError:
$ ruby main.rb
/usr/share/rubygems/rubygems/custom_require.rb:36:in `require': cannot load such file -- tagfile/tagfile (LoadError)
from /usr/share/rubygems/rubygems/custom_require.rb:36:in `require'
from main.rb:4:in `<main>'
I installed rtaglib with
$ gem install rtaglib
Here is the top part of my main.rb:
require 'date'
require 'find'
require 'tagfile/tagfile'
None of the suggestions here (Problem with Ruby + rtaglib gem) work. taglib is installed (1.7.2)
Trying it with other gems, like sinatra, works perfectly. Does anyone know the reason I cannot load rtaglib?
Can't you just require 'tagfile'? I just tried it and it worked fine.

Ruby gem install and "No such file to load"

I'm scripting with Ruby 1.9.2dev in Backtrack 5 but I'm having some problems when try to parse html entities with the library "htmlentities".
I cannot load the library although I have installed it with gem.
I'll show you the problems I'm having in the console:
root#bt:~# gem list -d htmlentities
*** LOCAL GEMS ***
htmlentities (4.3.1)
Author: Paul Battley
Homepage: https://github.com/threedaymonk/htmlentities
Installed at: /var/lib/gems/1.9.2
A module for encoding and decoding (X)HTML entities.
root#bt:~# irb irb(main):001:0> require 'htmlentities' LoadError: no such file to load -- htmlentities
from (irb):1:in `require'
from (irb):1
from /usr/bin/irb:12:in `<main>'
This is the same problem I'm having with nokogiri. I installed the library with
gem install htmlentities
Do you have any idea why I'm having this problem?
Thank you.
EDITED:
I tried also with require 'rubygems' previously to any other require, but happens the same:
I tried require 'rubygems' but is happening the same:
irb(main):001:0> require 'rubygems'
=> false
irb(main):002:0> require 'htmlentities'
LoadError: no such file to load -- htmlentities
from (irb):2:in `require'
from (irb):2
from /usr/bin/irb:12:in `<main>'
Try to require 'rubygems' before the rest of your gems requirements.
rubygems is actually redefining the Kernel#require method to look for gems on your gempath. Whitout it ruby will just look for local/on path files.
It took me a lot but now I know how to fix it. It's about GEM_PATH.
# echo "export GEM_PATH=/var/lib/gems/1.9.2/" >> ~/.bashrc
# source ~/.bashrc
Now if I run irb:
# irb
irb(main):003:0> require 'htmlentities'
=> true
irb(main):004:0>
WOOT!

require 'gem' does not work in ubuntu 10.04

ruby1.9.1-full
rubygems1.9.1
installed, these are the only versions i have installed.
I am not able to require any gems with the following syntax:
require 'rubygems'
require 'gem_name'
I get this error:
LoadError: no such file to load -- active_record
from (irb):2:in `require'
from (irb):2
from /usr/bin/irb:12:in `<main>'
I have to add this line to the syntax in order for it to work:
require 'rubygems'
gem 'gem_name' <---
require 'gem_name'
But with gems like active_record and sqlite3 i get this error:
Gem::LoadError: Could not find RubyGem sqlite3 (>= 0)
from /usr/local/lib/site_ruby/1.9.1/rubygems.rb:779:in `report_activate_error'
from /usr/local/lib/site_ruby/1.9.1/rubygems.rb:214:in `activate'
from /usr/local/lib/site_ruby/1.9.1/rubygems.rb:1082:in `gem'
from (irb):3
from /usr/bin/irb:12:in `<main>'
I have been searching and posting but i am still unable to find a solution for this, in a previous installation i had of ubuntu same version as now, i was able to require the gems normally, i'm not quite sure what could have changed.
I hope some one can help me on this one as this has me stuck.
Thanks in advance.
Jaime.
The proper gem name is sqlite3-ruby, not sqlite. Perhaps try gem'ing this instead?
could try it without gem prelude: https://github.com/rdp/ruby_tutorials_core/wiki/ruby-talk-faq#gem_loading_fails_191

Resources