当我尝试运行一个简单的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时工作得非常好。
我该怎么办?
答案 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特有的。据我所知,每个新的红宝石装置都有自己的宝石。
有管理不同红宝石的工具:
答案 2 :(得分:0)
您使用的库可能位于Ruby 1.8的目录下。我认为在Ruby 2.0下重新安装所需的库是个好主意。