Go 1.11 の Go モジュールを使用した Google Cloud Functions のデプロイ
Go モジュールは、Go プロジェクトの依存関係管理に対する最新のアプローチを提供します。ただし、Go モジュールを使用して Go 1.11 で Google Cloud Functions をデプロイする場合、特定の課題が発生します。
課題: 互換性のないモジュールの解決
Function Builder は、ベンダーの依存関係よりもモジュールを優先します。ただし、親ディレクトリ内のモジュールを参照する関数をデプロイする場合 (置換ディレクティブを使用するなど)、関数の隔離された環境内でモジュールが見つからないため、ビルダーは失敗します。
解決策:モジュールのベンダー化と除外
この問題を解決するには、モジュールを使用する代わりに依存関係をベンダー化することをお勧めします。さらに、go.mod ファイルと go.sum ファイルは、展開プロセス中に除外する必要があります。
これは、Google のドキュメントで説明されているように、関数のディレクトリ内に .gcloudignore ファイルを作成することで実現できます。
.gcloudignore go.mod go.sum
これらのファイルを無視すると、Function Builder はそれらのファイルを展開パッケージから除外し、モジュールの代わりにベンダーの依存関係が使用されるようにします。
注: modvendor」および「go mod verify」コマンドは、デプロイメントの前にローカルで正常に完了し、すべての依存関係が正しくベンダー化されていることを確認します。
以上がGo 1.11 の Go モジュールを使用して Google Cloud Functions をデプロイする方法: 依存関係の競合を解決する?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。