【发布时间】:2012-01-07 04:40:06
【问题描述】:
我正在本地机器上工作。如果我使用 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/
【问题讨论】:
-
您是否在
myapp.rb文件中需要 sinatra 之前添加了require 'rubygems'? -
@Casper 他使用的是 1.9.2,所以应该不需要 rubygems。
-
我确实尝试过
require rubygems,但这并没有帮助,因为@bloudermilk 说我使用的是Ruby 1.9.2。我一直认为这与 ruby 管理工具 rbenv 有关。我不知道。我不知道如何解决这个问题。 -
命令
irb只是一个控制台,我认为不像ruby -r,尽管irb 的帮助文档是这样描述的。你可以试试这个ruby -r myapp.rb,并确保 Sinatra 在 gem 列表中(见gem list) -
我正在开发一个 sinatra 应用程序,我只想与控制台进行交互。我发现了一个提示,上面写着
irb -r myapp.rb将是这样做的方法。