ホームページ > バックエンド開発 > Golang > App Engine の「GOPATH からインポートされた同じファイルとの競合」問題を解決するにはどうすればよいですか?

App Engine の「GOPATH からインポートされた同じファイルとの競合」問題を解決するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-12-12 19:41:10
オリジナル
303 人が閲覧しました

How to Resolve App Engine's

Appengine の「GOPATH からインポートされた同じファイルと競合する」問題:

この問題は、Appengine がルート ディレクトリからファイルをインポートするときに発生します(app.yaml が配置されている場所)、コード内の明示的なインポートと競合が発生します。この問題はインポートの重複が原因で発生します。

これを解決するには、次の 2 つのオプションがあります。

1.インポートのソース リポジトリ パスを省略します:

  • インポート パスの「ソース リポジトリ」部分を削除します。たとえば、「github.com/blah/blah」をインポートする代わりに、「blah/blah」をインポートします。
  • このアプローチでは、コードが appengine に制限されるため、ビルド制約を使用して、以下に基づいて条件付きでファイルを含めたり除外したりすることを検討してください。ターゲット環境 (例: build !appengine)。

2.モジュールと依存関係をプロジェクトに分離します。

  • Appengine がスキャンしないように、メイン プロジェクト (app.yaml が存在する場所) からすべてのサブフォルダー パッケージを削除します。
  • それらを別のプロジェクト (SampleIssueDeps など) に移動します。
  • 次に、フルパスを使用して依存関係をインポートします。たとえば、「github.com/MarkHayden/SampleIssueDeps/lib1.」をインポートします。

概要: Appengine プロジェクトのサブフォルダー パッケージの場合は、「source」を省略することもできます。リポジトリ」の一部をインポート パスに含めるか、すべてのコードを別のプロジェクトに移動して、外部依存関係と同様にインポートします。そうすることで、重複したインポートによって引き起こされる競合を回避できます。

以上がApp Engine の「GOPATH からインポートされた同じファイルとの競合」問題を解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート