2011-11-27 59 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我認爲這不是最好的解決方案。

相關問題