【问题标题】:internal server error heroku内部服务器错误heroku
【发布时间】:2025-11-22 08:30:01
【问题描述】:

我正在用 sinatra 开发一个 ruby​​ 应用程序。在我把它放在heroku上之前,一切都很好。 heroku 给了我内部服务器错误,但没有错误代码): 目前我的工作站是一台windows电脑。 我的日志看起来像这样:http://i.imgur.com/Xd3QAms.png config.ru

require 'tilt/haml'
require 'sass/plugin/rack'
require '4c96748'
run Sinatra::Application

宝石文件

source 'https://rubygems.org'
ruby '2.2.3'
gem 'sinatra', '1.1.0'

过程文件

web: bundle exec rackup config.ru -p $PORT

4c96748.rb

require 'sinatra'
require 'tilt/haml'

get '/' do
    haml :index
end

请帮帮我,我需要做什么?

【问题讨论】:

  • 欢迎来到 Stack Overflow。 不要使用图像来显示日志(或代码或数据)。我们不能重复使用它来搜索,而是必须手动输入相关信息,这会减慢答案并可能导致错误。复制它,将信息减少到让我们知道发生了什么所必需的最低限度,然后将该文本粘贴到问题中,格式适当。指向异地资源的链接往往会腐烂和破坏,使它们在未来变得毫无用处。
  • 另外,Stack Overflow 不是一个讨论板或文本消息流。请花时间使用正确的语法和标点符号。您正在帮助创建参考书。 "im" -> "I'm", "ruby" -> "Ruby", "sinatra" -> "Sinatra", "evrything" -> "everything" 等等。回答你的问题。

标签: ruby heroku sinatra


【解决方案1】:

尝试在您的 6c96748.rb 中关注

require 'rubygems'
require 'sinatra'
require 'haml'

get '/' do
  haml :index
end

【讨论】:

  • 和 gem 文件中的 gem "haml"
【解决方案2】:

来自您的日志文件:

LoadError - cannot load such file -- haml

Heroku 上没有安装 Haml。您需要对 Heroku 的每个依赖项都需要在您的 Gemfile 中。

将以下行添加到Gemfile:

gem 'haml'

在提交更改并再次推送到 heroku 之前,不要忘记运行 bundle

(作为旁注,您的 Sinatra 版本已经过时了。当前版本是 1.4.6(参见 https://rubygems.org/gems/sinatra))

【讨论】: