2011-11-27 85 views
4

我正在使用本地计算机。如果我使用一个应用程序西纳特拉我有没有问题,加入这行来myapp.rbgem_original_require':no such file to load - sinatra(LoadError)

require 'sinatra' 

当我去到控制台,我跑

irb -r myapp.rb 

我得到这个错误

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

我知道我的IRB或Ruby路径看起来不正确。我正在使用(简单Ruby版本管理:rbenv)来管理Ruby环境,但不太确定这会影响到事情吗?我跑了宝石环境,我得到了这个。

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/ 
+1

在myapp.rb文件中需要sinatra之前是否添加了'require'rubygems''? – Casper

+0

@Casper他使用1.9.2,所以不应该需要rubygems。 – bloudermilk

+0

我确实尝试过'require ruby​​gems',但是这并没有帮助,因为@bloudermilk声明我正在使用Ruby 1.9.2。我一直认为它与ruby管理工具rbenv有关。我不知道。我无法弄清楚如何解决这个问题。 – alenm

回答

2

尝试:

irb -r ./myapp.rb 

如果您使用的是config.ru文件,该路径应反映有作为。

2

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

然后我试图在我的本地Ruby版本上安装西纳特拉:

gem install sinatra 

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

gem install sqlite3 

最后我(https://github.com/rodrigomes/scanty):

ruby main.rb 

它工作b我认为这不是最好的解决方案。

相关问题