无法使用require加载文件

时间:2013-03-02 21:25:32

标签: ruby ruby-2.0

当我尝试运行一个简单的Sinatra应用程序时,我刚下载了Ruby 2.0并且require出现严重问题:

/Users/Kuba/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require': cannot load such file -- sinatra (LoadError)
from /Users/Kuba/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'
from test.rb:1:in `<main>'

此外,我现在遇到的这个和其他程序在使用Ruby 1.8.7时工作得非常好。

我该怎么办?

3 个答案:

答案 0 :(得分:3)

升级到&gt; = 1.9时我今天也遇到了这个问题,我在这篇文章中读到:“Upgrading From REE 1.8.7 to Ruby 1.9.3

您的问题的相关部分,如评论中所述:

  

但我不使用任何宝石的程序,只是我自己制作的其他文件,给了我相同的结果

来自文章 1

  

加载路径:

     

在Ruby 1.9.3中,LOAD_PATH不再包含“。”,因为它被视为安全风险。您可以在需要文件时使用绝对路径显式添加,或使用require_relative

答案 1 :(得分:2)

您是否也安装了宝石?

Ruby 2.0是一个全新的安装。 安装ruby 2.0并不意味着你保留已安装的宝石。

这不是Ruby 2.0特有的。据我所知,每个新的红宝石装置都有自己的宝石。

有管理不同红宝石的工具:

  • rvm(ruby版本管理员)
  • pik for windows

答案 2 :(得分:0)

您使用的库可能位于Ruby 1.8的目录下。我认为在Ruby 2.0下重新安装所需的库是个好主意。