📝

Amplifyでteam-provider-info.json' does not existが発生したので解決してみた

2021/06/22に公開約1,500字

とある個人開発でAmplifyを使っているのですが、ある日amplify pullしようとしたら、
File at path: '<プロジェクトディレクトリ>\amplify\team-provider-info.json' does not existという謎のエラーが発生しました。
このエラーの再現ができたので、今回は解決方法を紹介したいと思います。

結論

amplify.config\local-env-info.jsonのprojectPathが実際のディレクトリと違うことでした。

GitHub issue

まずはこちらのGitHub issueを見つけたので、原因を探ってみたのですが、正直直接の原因が何かはよくわかりませんでした。とりあえず

I deleted everything inside of
/home/whatever/.nvm/versions/node/v12.18.4/lib/node_modules/@aws-amplify/
and reinstalled amplify, that worked

という記載があったので、aws-amplifyを再インストールするという方法もあるようです。

サポートに聞いてみた

シンプルに「team-provider-info.json' does not existが発生するのはなぜですか?」と聞いてみました。

原因は、

  1. team-provider-info.json が存在しない
  2. プロジェクトディレクトリのパスが変わったこと
    とのことでした。
    実際にamplify/.config/local-env-info.jsonを確認したところ、確かに以下のようなパスの記載がありました。
{
  "projectPath": "<プロジェクトパス>",
  "envName": "dev",
  "defaultEditor": "vscode"
}

パスをいじってみた

local-env-info.jsonのパスを存在しないパスに変更して、amplify pullしてみました。
すると、
File at path: '<存在しないディレクトリ>\amplify\team-provider-info.json' does not exist
のエラーが発生し、エラーの再現に成功しました。
パスを元に戻して再度amplify pullすると、エラーなくpullできることも確認できました。

作業ディレクトリを変えた覚えはないけど・・・

特に作業ディレクトリを変えた覚えはないのですが、エラーが発生した環境を見たときには、local-env-info.jsonのパスが実際のディレクトリと異なっていました。
なぜパスが変わっていたのかは謎のままです・・・。
(妖怪作業ディレクトリいじり丸の仕業だな)

まとめ

今回はAmplifyでteam-provider-info.json' does not existが発生したので解決してみました。原因ですが、

  1. team-provider-info.json が存在しない
  2. プロジェクトディレクトリのパスが変わったこと
    でした。
    今回の場合、2が原因で発生しており、local-env-info.jsonのパスを手動で正しいパスに設定したことで解決しました。
    どなたかの参考になれば幸いです。

Discussion

ログインするとコメントできます