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

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

藏色散人
藏色散人転載
2021-11-26 16:02:442058ブラウズ

この記事は 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 までご連絡ください。