Amplifyで共同開発をする時にハマったこと
本記事の環境
amplify-cliのバージョン 4.43.0
node v14.15.5
npm 6.14.11
想定としてJavaScriptでの開発を想定しています。
その1「amplify pullがうまくいかない」
amplify pullがうまくいかないケースは2つ確認されています。
- amplify-cliのバージョンが異なる
- git cloneをした後にnpm installをする
amplify-cliのバージョンが異なるとめっちゃ挙動が変わります。
このエラーに何度苦しめられたことか、
cliなのでその人のPCのグローバル環境に依存する形になり、あーでもない、こーでもないとなります。
なので重要なのは開発バージョンを統一することです。
git cloneをした後npm installを実施した後にamplify pullを実施すると
npm ERR! code ENOENT
npm ERR! syscall chmod
npm ERR! path /Users/ここはちょっと共有できません/node_modules/uuid/bin/uuid
npm ERR! errno -2
npm ERR! enoent ENOENT: no such file or directory, chmod '/Users/ここはちょっと共有できません/node_modules/uuid/bin/uuid'
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent
となります。
ただamplify pullをした後にnpm installをするとすんなりいきます。(これは本当に意味がわかりませんでした。)
その2「なぜかamplify pullできない」時
共同開発を進めている時にAさんが追加でpushを実施した時にBさんがpullできない現象が発生します。
そのときはBさんは基本的にフロント周りの改修をしているのでその部分のみをgit pushを実施して現在のプロジェクトを破棄して再度クローンします。
そしてamplify pullすると最新バージョンで開発が進めることができます。
もちろんbackend機能で開発していた場合は一度諦めて再度設定が必要です。
これはエラーを解消しようとする時間と新規で開発を進める場合の時間コストを考えるとこちらの方が早かったです。
これは人の好みによります。
エラーを解消するのがエンジニアとしての美学だと考える方は是非とも頑張ってください。
また引き続き開発を進めていって困ったことはこちらに記録していきますので、
皆さんの開発のお役に立てればとは思っています。
引き続きよろしくお願いいたします。
その3「Amplifyのプロジェクトが増えてきたからこそ発生したエラー」
amplify pushを実行した時に
An error occurred during the push operation: File at path: xxxxx/team-provider-info.json' does not exist
このようなエラーが発生することがあります。
エラー文章の通りにprovider-info.jsonがamplifyのディレクトリ配下にあるか確認したところあります。
こういった場合は現在のCLIの環境とプロジェクトで作成した時の環境が違うことが原因となります。
受託開発などでAmplifyを使用して開発しているとこのような状況はよくあります。
ですのでそういった時は焦らずに
amplify configure profile
でそのプロジェクトに正しいプロファイルが設定されているかを確認しましょう!!
Discussion