ホームページ >バックエンド開発 >Golang >GOPATH プロジェクト内でローカル パッケージをインポートできないのはなぜですか?

GOPATH プロジェクト内でローカル パッケージをインポートできないのはなぜですか?

DDD
DDDオリジナル
2024-10-31 03:24:30914ブラウズ

Why Can't I Import Local Packages Within My GOPATH Project?

GOPATH パッケージのインポートの問題

ホーム ディレクトリではなく、GOPATH 内でローカル パッケージをインポートする際に問題が発生しました。説明したように、プロジェクトの構造は正しいようです。

相対インポート パス

Go では、相対インポート パスは推奨されません。これらは主に実験用であり、 go build および go install コマンドでは完全にはサポートされていません。プロジェクトが Go ツールとシームレスに連携できるようにするには、相対インポートの使用を避けることをお勧めします。

GOPATH 構造体

GOPATH は、Go が検索するディレクトリを指定する環境変数です。パッケージ。デフォルトの GOPATH はホーム ディレクトリ ($HOME/go) に設定されます。あなたの場合、プロジェクトが $GOPATH/src/project にあると、Go ツールがローカル パッケージを正しく見つけることができないため、ローカル パッケージをインポートできません。

推奨事項

この問題を解決するには、次の点を考慮してください:

  • 絶対インポート パスを使用します: 相対インポート パスを使用する代わりに、ファイルの絶対パスを使用してください。ローカルパッケージ。あなたの場合、モデル パッケージのインポート ステートメントは次のようになります。

    <code class="go">import "projpath/models"</code>

    projpath をプロジェクト ディレクトリへの実際のパスに置き換えます。

  • ベンダー システムを検討してください。 : Go Modules や Go Vendoring などのベンダー システムは、依存関係の管理と相対インポート パスのサポートに役立ちます。これらを使用すると、プロジェクト内のローカル パッケージを指定して追跡できます。

以上がGOPATH プロジェクト内でローカル パッケージをインポートできないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。