はじめに
先日HerokuにLINEボットをデプロイしました。
まだ完成していませんが、初めてボットをデプロイしたのでウキウキです。
Heroku CLIをインストールしたときに発生したわけのわからぬエラーが無ければ。
環境
heroku --version
- Linux (KDE neon 5.23.5)
- heroku/7.59.2 linux-x64
- スタンドアロンインストール
- node-v12.21.0
課題
謎のSyntax errorが発生しています。
エラーの内容は以下の通り。
heroku config -a {app name}
(node:xxxx) SyntaxError Plugin: heroku: /home/Your name/.local/share/heroku/config.json: Unexpected end of JSON input
module: @oclif/config@1.13.2
task: runHook prerun
plugin: heroku
root: /usr/local/lib/heroku
See more details with DEBUG=*
はい、わけがわかりません。
ただこのエラーの不思議な点は、エラーが出ても普通に使えているというところです。
普通エラーが出たら処理が中断されそうなもんですが、コマンドも普通に実行されるんですよね。
原因
Herokuのconfif.jsonの中身が空であったことが原因でした。
はい。上記エラーで示された場所にHerokuのconfig.jsonがあるのですが、どうもその中身が空(文字通り中身何もなし)の場合、このエラーが出るようです。
jsonファイルなのにjsonらしい記述が何もないとだめなんですかね。
とりあえず、このjsonを正常な形に戻してやれば解決するみたいです。
config.jsonがない場合は、新しく作ってやればいいみたい。
解決策
config.jsonに波括弧{}を加えるだけです。
エラー文にconfig.jsonの場所が示されているので、それを頼りにvi config.json
します。
あとは波括弧を適当に加えるだけでいいです。例えばこんな感じ。
{
}
これだけで本当に解決しちゃうんですから、楽なもんですね。
おわりに
超絶簡単な解決でした。
いつもこれくらい簡単にエラーが解決してくれたらいいんですけど……。
とりあえずこれで気持ち悪いエラーが消えたので、スッキリした気持ちでLINEボットを作成できます。
やったぜ。
参考
ちなみに今回の解決法以外に、heroku login
をインタラクティブでやるっていう解決法が提示されていたのですが、自分はそちらでは解決しませんでした。