読者です 読者をやめる 読者になる 読者になる

RubotyをHerokuにデプロイしてこけた

RubotyのテンプレートをforkしてそのままHerokuにデプロイしようとしたところbundle exec rubotyで失敗してしまった。

チャッピー  CHAPPIE (字幕版)

チャッピー CHAPPIE (字幕版)

ログの確認

heroku logs --app mo-robot

2015-10-11T13:50:02.610862+00:00 heroku[bot.1]: State changed from starting to up
2015-10-11T13:50:04.778238+00:00 app[bot.1]: /app/vendor/bundle/ruby/2.0.0/gems/xrc-0.1.4/lib/xrc/client.rb:249:in `block in on_features_received': undefined method `name' for "   ":REXML::Text (NoMethodError)
2015-10-11T13:50:04.778264+00:00 app[bot.1]:    from /app/vendor/ruby-2.0.0/lib/ruby/2.0.0/rexml/parent.rb:41:in `each'
2015-10-11T13:50:04.778266+00:00 app[bot.1]:    from /app/vendor/ruby-2.0.0/lib/ruby/2.0.0/rexml/parent.rb:41:in `each'
2015-10-11T13:50:04.778268+00:00 app[bot.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/xrc-0.1.4/lib/xrc/client.rb:247:in `on_features_received'
2015-10-11T13:50:04.778270+00:00 app[bot.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/xrc-0.1.4/lib/xrc/client.rb:176:in `on_received'
2015-10-11T13:50:04.778271+00:00 app[bot.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/xrc-0.1.4/lib/xrc/client.rb:217:in `block in connection'
2015-10-11T13:50:04.778272+00:00 app[bot.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/xrc-0.1.4/lib/xrc/parser.rb:78:in `call'
2015-10-11T13:50:04.778274+00:00 app[bot.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/xrc-0.1.4/lib/xrc/parser.rb:78:in `consume'
2015-10-11T13:50:04.778277+00:00 app[bot.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/xrc-0.1.4/lib/xrc/parser.rb:49:in `end_element'
2015-10-11T13:50:04.778279+00:00 app[bot.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/xrc-0.1.4/lib/xrc/parser.rb:26:in `block (2 levels) in bind'
2015-10-11T13:50:04.778280+00:00 app[bot.1]:    from /app/vendor/ruby-2.0.0/lib/ruby/2.0.0/rexml/parsers/sax2parser.rb:142:in `call'
2015-10-11T13:50:04.778282+00:00 app[bot.1]:    from /app/vendor/ruby-2.0.0/lib/ruby/2.0.0/rexml/parsers/sax2parser.rb:142:in `block in parse'
2015-10-11T13:50:04.778283+00:00 app[bot.1]:    from /app/vendor/ruby-2.0.0/lib/ruby/2.0.0/rexml/parsers/sax2parser.rb:142:in `each'
2015-10-11T13:50:04.778286+00:00 app[bot.1]:    from /app/vendor/ruby-2.0.0/lib/ruby/2.0.0/rexml/parsers/sax2parser.rb:142:in `parse'
2015-10-11T13:50:04.778288+00:00 app[bot.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/xrc-0.1.4/lib/xrc/connection.rb:38:in `parse'
2015-10-11T13:50:04.778289+00:00 app[bot.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/xrc-0.1.4/lib/xrc/connection.rb:34:in `start'
2015-10-11T13:50:04.778292+00:00 app[bot.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/xrc-0.1.4/lib/xrc/connection.rb:14:in `connect'
2015-10-11T13:50:04.778293+00:00 app[bot.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/xrc-0.1.4/lib/xrc/client.rb:24:in `connect'
2015-10-11T13:50:04.778297+00:00 app[bot.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/ruboty-slack-0.1.7/lib/ruboty/adapters/slack.rb:81:in `connect'
2015-10-11T13:50:04.778298+00:00 app[bot.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/ruboty-slack-0.1.7/lib/ruboty/adapters/slack.rb:14:in `run'
2015-10-11T13:50:04.778301+00:00 app[bot.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/ruboty-1.0.4/lib/ruboty/robot.rb:45:in `adapt'
2015-10-11T13:50:04.778303+00:00 app[bot.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/ruboty-1.0.4/lib/ruboty/robot.rb:22:in `run'
2015-10-11T13:50:04.778316+00:00 app[bot.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/ruboty-1.0.4/lib/ruboty/commands/run.rb:5:in `call'
2015-10-11T13:50:04.778319+00:00 app[bot.1]:    from /app/vendor/bundle/ruby/2.0.0/bin/ruboty:23:in `load'
2015-10-11T13:50:04.778317+00:00 app[bot.1]:    from /app/vendor/bundle/ruby/2.0.0/gems/ruboty-1.0.4/bin/ruboty:6:in `<top (required)>'
2015-10-11T13:50:04.778320+00:00 app[bot.1]:    from /app/vendor/bundle/ruby/2.0.0/bin/ruboty:23:in `<main>'

forkしたRubotyのテンプレートが依存しているXMPP Ruby Client.のxrc関連でこけている模様。

対応

r7kamura/xrc · GitHub

最新のバージョンは0.1.8なので一旦Heroku側からテンプレートをpullしてGemfile.lockで下記の対応を行った。

xrc (0.1.4) → xrc (0.1.8)

pushしたら無事デプロイ成功