辛纳屈错误(bundler:无法加载命令:rackup)

8
在将模块化的Sinatra应用部署到Heroku时,我一直遇到这个错误:bundler: failed to load command: rackup (/app/vendor/bundle/ruby/2.4.0/bin/rackup)。我已经尝试调整我的config.ru和Procfile,但没有成功。以下是config.ru的内容:
$LOAD_PATH.unshift(::File.expand_path('lib', ::File.dirname(__FILE__)))

require_relative 'lib/app'
run Tir::App

Procfile:

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

lib/app.rb:

require 'sinatra/base'
module Tir
 class App < Sinatra::Base
  # code
 end
end 

请指引我正确的方向。
附注:我能够部署应用程序,但是当尝试使用Pony gem发送电子邮件时出现上述错误。
编辑于20.07.2018: 我已经对此进行了大量调试,并找到了导致崩溃的那一行代码。

https://gist.github.com/abbottjam/248edfd50f094f99b3bf5b1f995fd290#file-static-rb-L15

现在错误信息显示为:

内部服务器错误:将数组隐式转换为字符串

所以问题应该出在下面的configure_options方法的代码块中。仍然不清楚数组->字符串的转换应该发生在哪里。谢谢。
1个回答

0
问题不在于代码,而是在于Heroku的电子邮件附加组件。从Mailgun切换到SendGrid立即解决了问题。前者旨在混淆,直到您选择他们的付费计划之一;后者通过最小化设置帮助您立即解决问题。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接