我在Ubuntu10上
sudo apt-get install ruby1.9.1-full
然后下载rubygem 1.3.7的源代码并安装它
sudo ruby setup.rb
然后,例如,安装sinatra
sudo gem install sinatra
最后打开irb并输入
require "rubygems"
require "sinatra"
并收到错误
LoadError: no such file to load -- sinatra
from (irb):2:in `require'
from (irb):2
from /usr/bin/irb:12:in `<main>'
答案 0 :(得分:4)
我确实遇到了这个问题。问题是宝石和红宝石不同意宝石的居住地。比较这些:
ruby -e "puts Gem.path"
gem env
gem which sinatra
如果你喜欢我的设置,你会注意到gem env的路径中有一个不在Gem.path中的条目,而这正是sinatra所声称的。在我的情况下,我不得不添加
export GEM_HOME=/usr/lib/ruby/gems/1.9.1
到我的.profile。然后大家都很高兴。
答案 1 :(得分:3)
执行
sudo gem install sinatra --verbose
并记下安装gem的路径。
然后在irb中尝试这个
puts $LOAD_PATH
并确保gem安装在$LOAD_PATH
理想情况下,只需开始使用http://rvm.beginrescueend.com/
答案 2 :(得分:2)
当我忘记时,我经常遇到这个错误:
require 'rubygems'
如果您提供了实际的代码示例,那么您将需要什么样的gem,以及如果这不能解决问题,那么您正在使用的Ruby版本会很有帮助。
答案 3 :(得分:1)
这是在此之前的很多次。问题是你可能有两个版本的ruby。一个是安装宝石,另一个是试图使用它。在终端中执行此操作:
$ which -a ruby
或者这个:
$ which -a gem
看看你是否安装了多个版本的ruby / gem。如果是这样 - 删除一个版本(通过系统的$ rm
或包管理器)。
答案 4 :(得分:0)
我将ruby gems 1.8.7用于项目。我得到了同样的错误。使用第require 'rubygems'
行。它必须始终是第一个require语句,否则您可能会收到错误。在我的代码中,我有
require 'watir'
require 'rubygems'
# more code
我收到了错误 - 在`require'中:没有这样的文件要加载 - watir(LoadError)。 当我首先放入rubygems时,错误消失了,一切正常。我不知道 为什么会这样。
顺便说一下,我试过用户24359回答它并没有帮助我。
C:\code>ruby -e "puts Gem.path"
-e:1: uninitialized constant Gem (NameError)