Amplifyでteam-provider-info.json' does not existが発生したので解決してみた
とある個人開発で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が発生するのはなぜですか?」と聞いてみました。
原因は、
- team-provider-info.json が存在しない
- プロジェクトディレクトリのパスが変わったこと
とのことでした。
実際に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が発生したので解決してみました。原因ですが、
- team-provider-info.json が存在しない
- プロジェクトディレクトリのパスが変わったこと
でした。
今回の場合、2が原因で発生しており、local-env-info.jsonのパスを手動で正しいパスに設定したことで解決しました。
どなたかの参考になれば幸いです。
Discussion