Ruby gem#u原件#u要求';:没有要加载的文件--sinatra(LoadError)
我在本地机器上工作。如果我使用Sinatra应用程序,那么将此行添加到myapp.rbRuby gem#u原件#u要求';:没有要加载的文件--sinatra(LoadError),ruby,rubygems,gem,sinatra,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路径看起来不正确。我正在使用(Simple Ruby Version Management:rbenv)来管理Ruby环境,不太确定这是否会
require 'sinatra'
当我走到控制台,我跑
irb -r myapp.rb
我得到这个错误
gem_original_require': no such file to load -- sinatra (LoadError)
我知道我的IRB或Ruby路径看起来不正确。我正在使用(Simple Ruby Version Management: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/
尝试:
如果您使用的是config.ru文件,那么该路径也应该反映在那里。在我的例子中,我使用的是rvm。尽管我配置了和.rvmrc文件,并保证安装了sinatra后使用的是正确的gemset,但我仍然会遇到相同的错误 然后我尝试在我的原生ruby版本中安装sinatra:
gem install sinatra
我还必须为我试图运行的sinatra应用程序安装sqlite适配器:
gem install sqlite3
最后,我开始运行scanty blog():
它起作用了,但我认为它不是最好的解决方案。在您的
myapp.rb
文件中需要sinatra之前,您是否添加了require'rubygems'
?@Casper他使用的是1.9.2,所以应该不需要rubygems。我尝试过require rubygems
,但正如@bloudermilk所说的那样,我使用的是Ruby1.9.2。我一直认为这与ruby管理工具rbenv有关。我不知道。我不知道如何解决这个问题。命令irb
只是一个控制台,我不认为as喜欢ruby-r
,尽管irb的帮助文档描述了这样的内容。你可以试试这个ruby-r myapp.rb
,并确保Sinatra在gem列表中(请参阅gem list
)我正在开发Sinatra应用程序,我只想与控制台交互。我发现一条提示说,irb-rmyapp.rb
将是这样做的方法。
gem install sqlite3
ruby main.rb