heroku - Sinatra 错误(捆绑程序:加载命令失败:rackup)
问题描述
将模块化 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
档案:
web: bundle exec rackup config.ru -p $PORT
库/app.rb:
require 'sinatra/base'
module Tir
class App < Sinatra::Base
# code
end
end
请指出我正确的方向。
PS。我能够部署应用程序,但在尝试使用 Pony gem 发送电子邮件时出现上述错误。
编辑 20.07.2018: 我已经调试了这个并找到了导致崩溃的行:
https://gist.github.com/abbottjam/248edfd50f094f99b3bf5b1f995fd290#file-static-rb-L15
错误消息现在说:
内部服务器错误:没有将数组隐式转换为字符串
所以一定是configure_options
下面方法中的代码块。仍然不知道应该在哪里进行数组 -> 字符串转换。谢谢。
解决方案
问题不在于代码,而在于 Heroku 的电子邮件插件。从 Mailgun 切换到 SendGrid 立即解决了这个问题。前者旨在混淆,直到您选择他们的付费计划之一;后者以最少的设置帮助您走出大门。
推荐阅读
- python - Python - [Errno 10054] 现有连接被远程主机强行关闭 - 发送腌制数据问题
- python - 如何使用 Python 读取 .data 格式的数据?
- spring - 在 vscode 中调试两个 Spring Web 服务失败
- maven - 在 Windows 上安装 ojdbc7 maven 命令
- module - 尝试执行量角器测试时找不到模块错误
- java - 多对多的spring jpa没有返回JSON中的所有数据
- java - JitPack.io 不拉库!为什么?
- python - sort_values 后的 Pandas 绘图系列产生奇怪的图表
- amazon-web-services - 通过 CloudFormation 从 AWS Marketplace 启动 AMI
- node.js - 当一内一请求时,Chai-http 不检查第二个断言