Heroku不能要求文件

时间:2013-05-19 23:48:57

标签: ruby deployment heroku require relative

我的Sinatra / Rack应用程序具有以下结构

-app
 routes.rb
--pages
  courses_page.rb

这是我的config.ru

require 'rubygems'
require 'bundler/setup'

Bundler.require


require 'sinatra/base'
require  File.join(File.dirname(__FILE__), 'app', 'controllers', 'routes')

run MyApplication

它可以在本地使用霰弹枪和机架,但是当我将它部署到heroku时,我收到以下错误:

  

2013-05-19T23:32:35.880243 + 00:00 heroku [web.1]:使用命令bundle exec rackup config.ru -p 43506启动流程

     

2013-05-19T23:32:36 + 00:00 app [web.1]:/ app/app/controllers/routes.rb:2:在`require_relative':无法加载此类文件 - / app / app / pages / courses_page(LoadError)

     

2013-05-19T23:32:37 + 00:00 app [web.1]:来自/app/app/controllers/routes.rb:2:in`'

     

2013-05-19T23:32:37 + 00:00 app [web.1]:来自/app/config.ru:8:in`requiret'

     

2013-05-19T23:32:37 + 00:00 app [web.1]:来自/app/config.ru:8:in,block in'   2013-0

这是我的routes.rb的开头,Heroku无法加载我的文件:

require 'sinatra'
require_relative '../pages/courses_page'
require_relative '../../app/utilities/yml_file_reader'

你知道为什么我的应用程序在heroku上失败了吗?

1 个答案:

答案 0 :(得分:0)

问题来自于我最初将页面目录命名为“Pages”,而我使用的是Mac,因此它不区分大小写。

重构名称后,我遇到了这个问题,现在我需要解决这个问题。