`require':在Heroku,Sinatra上没有要加载的文件 - lib / book(LoadError)

时间:2011-12-24 02:40:13

标签: heroku sinatra

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

  • LIB / book.rb
  • LIB / user.rb
  • server.rb< - main sinatra file

这是我的config.ru


require './server'
run Sinatra::Application

当我部署到heroku时,我得到了这个错误`require':没有这样的文件要加载 - lib / book(LoadError)。但是,在我的本地机器上它工作正常。

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

非常感谢。

1 个答案:

答案 0 :(得分: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文件。