go モジュールでローカル パッケージを利用しようとすると、一般的なエラーが発生する可能性があります: "replacement"バージョンのないモジュールはディレクトリ パス (ルートまたは . で始まる) である必要があります。」このエラーは、go.mod ファイル内の replace ディレクティブのパス構造が正しくないことを示しています。
go.mod の replace ディレクティブを使用すると、ユーザーは依存関係を別のディレクティブで置き換えることができます。バージョンまたはソース。ただし、置換モジュールに指定するパスは特定の基準に準拠する必要があります:
質問に示されている例は次の構造になっています:
goweb/ └─ src/ └─ mypack/ └─ go.mod (local package) go.mod (module containing the replace directive)
パス構造エラーを解決するには、置換モジュールに指定されたパスが絶対パスまたは次の相対パスであることを確認してください。上記の基準。
絶対パスを使用: mypack がモジュールのルートの兄弟でない場合は、その絶対パスを指定します次のようなパス:
replace mypack => /absolute/path/to/mypack
相対パスを使用: mypack がモジュールのルートの兄弟である場合、その相対パスを次のように指定します:
replace mypack => ../mypack
これらの手順に従うことで、「バージョンのない置換モジュールはディレクトリ パスである必要があります」エラーを解決し、ローカル パッケージを go モジュールで正常に使用できます。
以上が「置換」ディレクティブが「バージョンのない置換モジュールはディレクトリ パスである必要があります」というメッセージで失敗するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。