【问题标题】:Failed to load gem within passenger app but gem loads in irb无法在乘客应用程序中加载 gem,但在 irb 中加载 gem
【发布时间】:2013-06-27 20:27:45
【问题描述】:

我已经部署了一些 Rails 应用程序,但很少让我觉得每次都是我的第一次。这次我正在安装一个 sinatra 应用程序。

我正在使用 mod_passenger,但我遇到了缺少 gem 的问题。然而它就在那里。

从我看到的浏览器错误中:

no such file to load -- json (LoadError)
  ./application.rb:10:in `require'
  ./application.rb:10
  config.ru:1:in `require'
  config.ru:1
  /usr/lib64/ruby/gems/1.8/gems/rack-1.5.2/lib/rack/builder.rb:55:in `instance_eval'
  /usr/lib64/ruby/gems/1.8/gems/rack-1.5.2/lib/rack/builder.rb:55:in `initialize'
  config.ru:1:in `new'
  config.ru:1

文件的顶部如下所示:

require 'rubygems'
require 'sinatra'
require 'json'
require 'sequel'
require 'sinatra/sequel'

(这些线上方有cmets,因此行号不同)

当我打开 irb 并尝试要求它工作的宝石时:

irb(main):001:0> require 'rubygems'
=> true
irb(main):002:0> require 'json'
=> true

遗憾的是,我使用的是 RHEL 6.2,它与 Ubuntu 完全不同,我有点不舒服。但根据我的理解,这应该可行。

有什么想法可以让我看看是什么导致了我的问题?

【问题讨论】:

    标签: ruby gem sinatra passenger


    【解决方案1】:

    您确定乘客正在运行与 irb 相同的 ruby​​ 版本吗?

    【讨论】:

    • 谢谢!那不是问题,但它使我正确地解决了这个问题。 :-) 我不知道的是所有模块都必须在 Gemfile 中提及。 'json' 和 'sqlite3' 不是,但一旦我添加它们,它就开始工作了。 (好吧,它开始给我一个我可以处理的错误)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-06
    • 2015-07-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多