ホームページ >バックエンド開発 >Golang >Go モジュール エラー: 「パッケージ package1 は GOROOT にありません」の理由と修正方法を教えてください。

Go モジュール エラー: 「パッケージ package1 は GOROOT にありません」の理由と修正方法を教えてください。

Susan Sarandon
Susan Sarandonオリジナル
2024-12-03 08:07:11870ブラウズ

Go Module Error: Why is

Go モジュール エラー: パッケージが GOROOT にありません

問題:

実行時 go run main.go では、ユーザーは次のような問題に遭遇します。エラー:

package package1 is not in GOROOT (/usr/local/go/src/package1)

原因:

このエラーは、Go モジュール システムが GOROOT ディレクトリで指定されたパッケージを見つけられない場合に発生します。

解決策:

この問題を解決するには、環境変数が次のとおりであることを確認してください。正しく設定されています。次の手順に従う必要があります:

  1. GOPATH の構成:

    • GOROOT の外部に GOPATH ディレクトリを作成します。 /mnt/sda1/programming/gopath.
    • 次のディレクトリを指すように GOPATH 環境変数を設定します:

      export GOPATH=/mnt/sda1/programming/gopath
  2. 調整GOROOT:

    • GOROOT がシステムにインストールされた Go ルート ディレクトリに設定されていることを確認します:

      export GOROOT=/usr/local/go
  3. GOROOT を追加PATH:

    • GOROOT を PATH 環境変数に追加します:

      export PATH=$PATH:$GOROOT/bin
  4. 有効化行くモジュール:

    • GO111MODULE 環境変数を on に設定します:

      export GO111MODULE=on
  5. 更新Bashrc:

    • 上記の環境変数を .bashrc ファイルに追加します。
    • .bashrc ファイルをターミナル:

      source ~/.bashrc
  6. モジュールの再初期化:

    • main.go を含むメイン フォルダーに移動します。 .
    • go mod を使用して Go モジュールを再初期化します。 init main.
  7. Create Package Directory:

    • パッケージのディレクトリを作成します (例: package1)。
    • package1 内に、パッケージ package1 を使用して必要なファイルを作成しますディレクティブ。
    • パッケージ ディレクトリ内に go.mod ファイルを作成しないでください。
  8. パッケージのインポート:

    • main.go で、パッケージ:

      import "main/package1"
  9. bashrc を再度ロードします:

    • source ~/.bashrc を再度実行して、設定が更新されていることを確認してください

これらの手順が完了すると、パッケージ package1 は GOROOT にありませんというエラーが解決され、main.go ファイルが正常に実行されるはずです。

以上がGo モジュール エラー: 「パッケージ package1 は GOROOT にありません」の理由と修正方法を教えてください。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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