ホームページ >バックエンド開発 >Golang >Go コンパイラーが外部パッケージを見つけられないのはなぜですか?

Go コンパイラーが外部パッケージを見つけられないのはなぜですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-05 19:38:10193ブラウズ

Why Can't My Go Compiler Find My External Packages?

非 GOROOT Go パッケージの使用

質問: 「パッケージ package1 が GOROOT にありません (/usr/local/go/)」というエラーが発生しましたsrc/package1)" で外部パッケージを使用しようとするとGo.

説明: このエラーは、Go コンパイラーが標準ライブラリ GOROOT ディレクトリーで指定されたパッケージを見つけられない場合に発生します。パッケージがインストールされていないか、標準ライブラリの外部にあることを示唆しています。

解決策:

  1. 環境変数の構成:

    • GO111MODULE がモジュールのサポートを有効にするために、環境変数が「on」に設定されています。
    • GOPATH 環境変数を GOROOT の外部のディレクトリに設定します。
    • GOPATH/bin と GOROOT/bin の両方を PATH 環境に追加します。

    たとえば、次の行を .bashrc に追加できます。ファイル:

    export GO111MODULE=on
    export GOPATH=/mnt/sda1/programming/gopath
    export PATH=$PATH:$GOPATH/bin
    
    export GOROOT=/usr/local/go
    export PATH=$PATH:$GOROOT/bin
  2. 環境変数のロード:

    • source を実行して環境変数を再ロードします~/.bashrc.
  3. メイン パッケージの初期化:

    • メイン プロジェクトの新しいディレクトリを作成し、 go mod init を使用したモジュールmain.
  4. 外部パッケージの作成:

    • 外部パッケージ用に別のディレクトリを作成します。
    • 外部パッケージ ディレクトリ内に、最初の package package1 ステートメントを使用して必要なファイルを作成します。 line.
  5. 外部パッケージのインポート:

    • メイン Go ファイル (main.go) で、外部パッケージをインポートします。メイン パッケージ ディレクトリに対する相対パスを使用してパッケージを作成します。例:
    import "main/package1"

これらの手順に従うことで、Go コンパイラーが外部パッケージを見つけて使用できるようになり、「パッケージ package1 が GOROOT にありません」という問題を解決できます。 " エラー。

以上がGo コンパイラーが外部パッケージを見つけられないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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