ホームページ > バックエンド開発 > Golang > go モジュールはローカル パッケージをどのように使用しますか (例付き)

go モジュールはローカル パッケージをどのように使用しますか (例付き)

藏色散人
リリース: 2021-11-26 16:02:44
転載
2089 人が閲覧しました

この記事は go 言語 チュートリアル コラムによって提供され、go モジュールでローカル パッケージを使用する方法を紹介します。

go モジュールの使用は非常に簡単です

  1. go.mod

    go mod init
    ログイン後にコピー
    ## を初期化します
  2. #依存関係パッケージを整理する

    go mod tidy
    ログイン後にコピー
  3. ベンダー ディレクトリにキャッシュする場合は、

    go mod vendor
    ログイン後にコピー
依存関係は自動的に作成されます。コマンドの実行後に解決されました。

しかし、パッケージをローカルで開発し、リモート ウェアハウスがない場合、ローカル パッケージの依存関係の問題を解決するにはどうすればよいですか?

replace を使用して、リモート パッケージをローカル パッケージに置き換えます。パッケージ サービス

幸いなことに、go モジュールには別のソリューションである replace が用意されています。この replace を使用する方法は何ですか?

まず基本的な MOD ファイルを見てみましょう

module GoRoomDemo

go 1.12

require (
    github.com/gin-gonic/gin v1.3.0
    github.com/gohouse/goroom v0.0.0-20190327052827-9ab674039336
    github.com/golang/protobuf v1.3.1 // indirect
    github.com/gomodule/redigo v2.0.0+incompatible
    github.com/mattn/go-sqlite3 v1.10.0
    github.com/stretchr/testify v1.3.0 // indirect
    golang.org/x/net v0.0.0-20190320064053-1272bf9dcd53 // indirect
)
ログイン後にコピー
これは簡単です

GoRoom フレームワークの依存関係パッケージ。ローカルの goroom を使用したい場合は、replace

module GoRoomDemo

go 1.12

require (
    github.com/gin-gonic/gin v1.3.0
    github.com/gohouse/goroom v0.0.0-20190327052827-9ab674039336
    github.com/golang/protobuf v1.3.1 // indirect
    github.com/gomodule/redigo v2.0.0+incompatible
    github.com/mattn/go-sqlite3 v1.10.0
    github.com/stretchr/testify v1.3.0 // indirect
    golang.org/x/net v0.0.0-20190320064053-1272bf9dcd53 // indirect
)

replace github.com/gohouse/goroom => /path/to/go/src/github.com/gohouse/goroom
ログイン後にコピー
Here
path/to/go/ を使用するだけです。 src/github .com/gohouse/goroom はローカル パッケージ パスです。
このようにして、ローカル ディレクトリを問題なく使用できます。

以上がgo モジュールはローカル パッケージをどのように使用しますか (例付き)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:segmentfault.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート