gem_original_require':没有要加载的文件 - sinatra(LoadError)

时间:2011-11-27 04:42:27

标签: ruby rubygems gem sinatra

我在我的本地机器上工作。如果我使用Sinatra应用程序,我可以将此行添加到 myapp.rb

require 'sinatra'

当我进入控制台并运行

irb -r myapp.rb

我收到此错误

gem_original_require': no such file to load -- sinatra (LoadError)

我理解我的IRB或Ruby路径看起来不对。我正在使用(简单Ruby版本管理:rbenv)来管理Ruby环境,如果这会影响事情那么不太确定?我跑了 gem env ,我得到了这个。

RubyGems Environment:  
  - RUBYGEMS VERSION: 1.8.10  
  - RUBY VERSION: 1.9.2 (2011-07-09 patchlevel 290) [x86_64-darwin11.0.1]  
  - INSTALLATION DIRECTORY: /Users/Air/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1  
  - RUBY EXECUTABLE: /Users/Air/.rbenv/versions/1.9.2-p290/bin/ruby  
  - EXECUTABLE DIRECTORY: /Users/Air/.rbenv/versions/1.9.2-p290/bin  
  - RUBYGEMS PLATFORMS:  
    - ruby  
    - x86_64-darwin-11  
  - GEM PATHS:  
     - /Users/Air/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1  
     - /Users/Air/.gem/ruby/1.9.1  
  - GEM CONFIGURATION:  
     - :update_sources => true  
     - :verbose => true  
     - :benchmark => false  
     - :backtrace => false  
     - :bulk_threshold => 1000  
  - REMOTE SOURCES:  
     - http://rubygems.org/  

2 个答案:

答案 0 :(得分:2)

尝试:

irb -r ./myapp.rb

如果您使用的是config.ru文件,那么该路径也应该反映在那里。

答案 1 :(得分:2)

在我的情况下,我使用的是rvm。即使我配置了.rvmrc文件并确保我使用安装了sinatra的正确gemset,我仍然遇到同样的错误。

然后我尝试在我的原生ruby版本中安装sinatra:

gem install sinatra

我必须安装sqlite适配器以及我试图运行的sinatra应用程序:

gem install sqlite3

最后,我用:

运行了不足的博客(https://github.com/rodrigomes/scanty
ruby main.rb

虽然有效,但我认为这不是最佳解决方案。