2

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

/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 时工作得非常好。

我应该怎么办?

4

3 回答 3

3

我今天升级到 >= 1.9 时也遇到了这个问题,我收到了这篇文章:“从 REE 1.8.7 升级到 Ruby 1.9.3

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

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

来自第1条

加载路径:

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

于 2013-08-08T21:19:54.050 回答
2

你也安装了宝石吗?

Ruby 2.0 是一个全新的安装。安装 ruby​​ 2.0 并不意味着您保留已安装的 gem。

这不是 Ruby 2.0 特定的。据我所知,每个新的 ruby​​ 安装都有自己的宝石。

有一些工具可以管理不同的红宝石:

  • rvm(红宝石版本管理器)
  • 用于 windows 的pik
于 2013-03-02T21:29:56.440 回答
0

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

于 2013-03-02T21:29:35.620 回答