【问题标题】:`require': no such file to load -- lib/book (LoadError) on Heroku, Sinatra`require':没有要加载的文件——Heroku、Sinatra 上的 lib/book (LoadError)
【发布时间】:2011-12-24 02:40:13
【问题描述】:

我创建了一个简单的应用程序,这是我的文件夹结构

  • lib/book.rb
  • lib/user.rb
  • server.rb

这是我的 config.ru

require './server' run Sinatra::Application

当我部署到 heroku 时,我收到了这个错误 `require': no such file to load -- lib/book (LoadError)。但是,在我的本地机器上它工作正常。

我不确定要在 config.ru 中包含什么,我也尝试过 require './lib/book',但没有成功。

非常感谢。

【问题讨论】:

    标签: heroku sinatra


    【解决方案1】:

    您可以尝试将 /lib 目录添加到您的 $LOAD_PATH,方法是在您的 server.rb 中添加类似这样的内容:

    configure do
      $LOAD_PATH.unshift("#{File.dirname(__FILE__)}/lib")
      Dir.glob("#{File.dirname(__FILE__)}/lib/*.rb") { |lib| 
        require File.basename(lib, '.*') 
      }
    end
    

    这会将 /lib 目录添加到您的 $LOAD_PATH 并需要其中的所有 *.rb 文件。

    【讨论】:

      猜你喜欢
      • 2011-09-02
      • 2011-11-30
      • 2016-05-09
      • 2014-04-15
      • 2012-01-07
      • 1970-01-01
      • 2011-12-11
      • 1970-01-01
      相关资源
      最近更新 更多