我在“gem列表”中看到gem但是“没有这样的文件加载”
我在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 `'
我有这个问题。 问题是gem和ruby不同意gem的居住地。 比较这些:
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。 然后大家都很高兴。
执行
sudo gem install sinatra --verbose
并记下安装gem的路径。
然后在irb中尝试这个
puts $LOAD_PATH
并确保gem安装在$LOAD_PATH
其中一个目录中
理想情况下,只需开始使用http://rvm.beginrescueend.com/
当我忘记时,我经常遇到这个错误:
require 'rubygems'
但是,如果您提供了实际的代码示例,那么您将需要什么样的gem,以及如果这不能解决问题,那么您正在使用的Ruby版本会很有用。
这是在此之前的很多次。 问题是你可能有两个版本的ruby。 一个是安装gem,另一个是试图使用它。 在终端中执行此操作:
$ which -a ruby
或这个:
$ which -a gem
看看你是否安装了多个版本的ruby / gem。 如果是这样 – 删除一个版本(通过系统的$ rm
或包管理器)。
我使用ruby gems 1.8.7进行项目。 我得到了同样的错误。 使用行require 'rubygems'
。 它必须始终是第一个require语句,否则您可能会收到错误。 在我的代码中,我有
require 'watir' require 'rubygems' # more code
我得到了错误 – 在`require’:没有这样的文件加载 – watir(LoadError)。 当我首先放入rubygems时,错误消失了,一切正常。 我不知道为什么会这样。
顺便说一句,我试过user24359的答案,它没有帮助我。
C:\code>ruby -e "puts Gem.path" -e:1: uninitialized constant Gem (NameError)