ホームページ >バックエンド開発 >Golang >GOPATH から Go モジュールに切り替えた後、Go プロジェクトで「不正なモジュール パス」エラーが表示されるのはなぜですか?

GOPATH から Go モジュールに切り替えた後、Go プロジェクトで「不正なモジュール パス」エラーが表示されるのはなぜですか?

DDD
DDDオリジナル
2024-12-19 12:57:10859ブラウズ

Why Does My Go Project Show a

GOPATH ベースの Dep から Go Mod に移行する際の不正なモジュール パス「my-api-server/my-utils/uuid」

GOPATH ベースの dep から Go mod に移行すると、次のような問題が発生する可能性があります。エラー:

$ go version
1.13.3

$ go run main.go
build command-line-arguments: cannot load my-api-server/my-utils/uuid: malformed module path "my-api-server/my-utils/uuid": missing dot in first path element

原因:

モジュール パスの最初の部分「my-api-server」が有効なドメインではないためにエラーが発生しますまたはピリオド付きのパス(".").

解決策:

この問題を解決するには、プロジェクトのルートに "go.mod" ファイルを作成する必要があります (例: 、「my-api-server/go.mod」)。 go.mod ファイルには、次の情報が含まれている必要があります。

  • モジュール パス: ドメイン/パスとプロジェクト名を含む、モジュールへの完全なパス。たとえば、GitHub ユーザー名が「your-github-username」の場合、モジュール パスは「github.com/your-github-username/my-api-server」となります。
  • モジュール要件:他のモジュールに依存関係がある場合は、「require」ステートメントを含めてそれらを指定できます。ただし、「uuid」パッケージは「main.go」と同じモジュール内にあるため、「require」ステートメントは必要ありません。

go.mod ファイルを作成したら、次のように完全なモジュール パスを使用して「uuid」パッケージをインポートできます。

import "github.com/your-github-username/my-api-server/my-utils/uuid"

追加ヒント:

  • 必要なファイルがすべて含まれていることを確認するには、「go run」の代わりに「go build」を使用して実行可能ファイルを作成します。
  • リンクされた Go ブログ投稿を参照してください。 Go の使用に関する包括的なガイドについては、以下を参照してくださいモジュール。

https://blog.golang.org/using-go-modules

以上がGOPATH から Go モジュールに切り替えた後、Go プロジェクトで「不正なモジュール パス」エラーが表示されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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