まとめ

  • Windows の WSL で実行中
  • amplify pull 実行
  • “Failed to communicate with the Amplify CLI” エラー
  • DevTools > Network > 該当リクエスト > 右クリック > Copy > Copy as cURL (bash)
  • WSL のターミナルで実行

どうして

調べてないけど Amplify のサイトが CLI へ接続するのに 127.0.0.1 を参照していて、これが WSL だとうまく動かないっぽい。

対応

127.0.0.1 宛のリクエストを手動で送る。

幸い我々には DevTools がある。Network タブで該当のものを探して(失敗して赤くなっているのですぐわかる)、右クリックから cURL のコマンドとしてコピー、ターミナルで実行します。

DevTools NetworkパネルでAmplifyの失敗リクエストを表示したところ。赤くなっている。

右クリックからコピーできるので、cURL (bash) を選んでコピー。こんな感じ:

curl 'http://127.0.0.1:4242/amplifyadmin/' \
  -H 'Referer: ' \
  -H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) …' \
  -H 'Content-Type: application/json' \
  --data-raw '{…}' \
  --compressed

これをどこかのターミナルへ張り付ければ CLI が動き出す。

おしまい

思ってるより WSL 人口少ないのかなあ。

とっぴんぱらりのぷう。

参考