こんにちは。たなか(@tanaka_ricecake)です。
引き続きRuby on Rails Tutorialを進めています。
先日、[ Rails ]Cloud9でHerokuコマンドが使えない!の対処法という記事を書きました。
その後、いよいよCloud9のターミナルからheroku loginしようというところで、また早くも次のエラーに引っかかったのでシェアしておきます。
同じエラーでお困りの方の助力になれば幸いです。
もくじ
JSONErrorでheroku loginできない問題
ターミナルからheroku loginコマンドを実行時に、以下のメッセージが表示され、heroku loginできません。
$ heroku login
heroku: Press any key to open up the browser to login or q to exit:
Opening browser to https://cli-auth.heroku.com/auth/browser/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
› Warning: Cannot open browser.
heroku: Waiting for login... !
JSONError: Unexpected end of JSON input while parsing near ' '
at module.exports (/usr/local/heroku/node_modules/parse-json/index.js:26:19)
at HTTP._parse (/usr/local/heroku/node_modules/@heroku-cli/plugin-auth/node_modules/http-call/lib/http.js:343:25)
たなか
エラーメッセージを見ると「JSONError: Unexpected end of JSON input while parsing near ‘ ‘」あたりが怪しそうですが、初見ではいまいち何が問題か掴めませんでした。
JSONErrorでheroku loginできない問題 解消方法
今一度、何かヒントがないかエラーメッセージをちゃんと読んでみます。
すると6行目の文言に気づきました。
heroku: Waiting for login... !
↓意訳
へろく: 「ログイン...待ってるからね...っ!!///」
あ、こっちのログインを待ってるのか!!!!(今更)
ってことで再び$ heroku loginを実行。
Opening browser to https://cli-auth.heroku.com/auth/browser/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
ターミナルに表示されている上記のようなURLリンクをクリックし、ブラウザの方からherokuのログイン認証を行います。
ブラウザから認証後、Cloud9のターミナルに戻って確認すると……
Logging in... done
Logged in as xxxx@gmail.com
JSONErrorでheroku loginできない問題 まとめ
ということで今回はJSONErrorでheroku login出来ないときの解消法についてご紹介しました。
振り返ってみればマジでなんてことない症状でしたね。シンプルにログをちゃんと見ろって話ですし。
記事にするのもちょっと恥ずかしいかな〜くらいのお粗末な内容でしたが、きっとこういう類のエラーにハマるのは同じくrailsのtutorialやってる初学者のはず!(はず!)
私含めそういったビギナーの助力に少しでもなれたならば幸いです。
今回はここまで。
関連記事
[ Heroku ] Warning: login is not a heroku command.でloginできない!