Go Moduleはローカルカスタムパッケージを導入します.

1811 ワード

Go Moduleはローカルカスタムパッケージを導入します.
Go Moduleは、ローカルカスタムパケット参照URLを導入する:http://www.r9it.com/20190611/go-mod-use-dev-package.html
Go Moduleバージョンのルールgo modulesは、バージョン依存の管理システムであり、バージョンはいくつかのルールに従って、go.modファイルを開く必要があります.以下のような依存ルールを発見します.
依存規則は二つの部分からなり、前の部分はパケットパス、後の部分はバージョン番号を表しています.2つのバージョン番号があります.一つは私たちがよく知っているgitタグです.例えばv 0.0.2、もう一つは比較的複雑です.バージョン番号+タイムスタンプ+hashなどです.
例えば、私の現在の提出記録はこうです.
$ git log 
commit 4c55783279db32be4f02e193713d5a862b96db85 (HEAD -> master, origin/master)
Author: yangjian 
Date:   Mon Jun 10 18:34:14 2019 +0800
私の最新バージョン番号はv 0.0.0-19061013414-4 c 55783279 dbです.
replace(golang.org/x/crypt v 0.0.0-201908221718-c 2843 e 01 d 9 a 2=>github.com/golang/crypt v 0.0.0-308221718-c 2843 e 01 d 9 a 2)
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
)
これは簡単な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