Go リポジトリをフォークすると「内部パッケージの使用は許可されていません」というエラーが表示されるのはなぜですか?

Mary-Kate Olsen
リリース: 2024-10-26 06:17:30
オリジナル
314 人が閲覧しました

Why Do I Get

Go リポジトリのフォークと「内部パッケージの使用は許可されていません」エラーについて理解する

Go プロジェクトを使用する場合、リポジトリをフォークするときに特別な考慮事項があります。ここでは、発生する可能性のある「内部パッケージの使用は許可されていません」エラーに対処する方法を示します。

Go リポジトリをフォークしてテストを実行したり、コードをビルドしようとすると、「eth/api」というエラー メッセージが表示される場合があります。 .go:37:2: 内部パッケージの使用は許可されていません。」これは、コードが元のリポジトリから内部パッケージをインポートしようとしていることを示します。

「eth/api.go」の場合、コードは「github.com/ethereum/go」をインポートしようとしています。 -ethereum/internal/ethapi" パッケージは、フォークされたリポジトリの一部ではありません。

Go はリポジトリ フォークをサポートしていますか?

はい、Go はリポジトリ フォークをサポートしています。ただし、正しいプロジェクト ディレクトリ構造を維持し、ソースとして独自のフォークを使用する必要があります。

「内部パッケージ」エラーの解決策:

この問題を解決するには、インポート パスを、フォークされた独自のリポジトリ内の対応するパスに置き換える必要があります。この例では、「github.com/ethereum/go-ethereum/internal/ethapi」を「github.com/zoonoo/go-ethereum/internal/ethapi」に置き換える必要があります。

フォークされたリポジトリのクローン作成とセットアップ:

  1. Go プロジェクトのディレクトリを作成します:export GOPATH=$HOME/gocodez
  2. フォークされたリポジトリのクローンを作成します: cd $GOPATH/ src/github.com/zoonoo && git clone
  3. ディレクトリ構造が $GOPATH/src/github.com/zoonoo と一致していることを確認します。これは Go インポートが機能するために必要です。

フォークのクローンを作成してインポート パスを調整すると、「内部パッケージの使用は許可されていません」エラーを回避し、テストを正常に実行したり、フォークされたリポジトリからコードをビルドしたりできます。

以上がGo リポジトリをフォークすると「内部パッケージの使用は許可されていません」というエラーが表示されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!