

Golangの学習しております。  
GoModulesを利用したバージョン管理について学んでいるのですが、以下のような構成の場合  
一度github上に反映した後、ローカルのhello-world.goを修正してもリモート上のパッケージを参照してしまい、動作の確認ができません。

対応として以下の方法があるようなのですが、どの方法を取るのが良いのでしょうか。

  * vendorディレクトリを使う
  * GOPROXY経由で参照する
  * replaceディレクティブを使う

[code]

    ├── main.go
    └── pkg
        └── hello-world
            └── hello-world.go
    
[/code]

[code]

    package main
    
    import (
        "github.com/repo/project/pkg/hello-world"
    )
    
    func main() {
        helloworld.HelloWorld()
    }
    
[/code]

また replaceディレクティブを使う を試しているのですが  
以下の通りgo.modを修正してビルドすると以下のエラーが発生するのですが  
解消方法をご教示いただけないでしょうか。

[code]

    module github.com/repo/project
    
    go 1.13
    
    require github.com/repo/project v0.0.0
    
    replace github.com/repo/project => ./
    
    
[/code]

[code]

    ▸ go build
    go: finding github.com/repo/project latest
    build github.com/repo/project: cannot load github.com/repo/project/pkg/hello-world: module github.com/repo/project@latest (v0.0.0) found, but does not contain package github.com/repo/project/pkg/hello-world
    
[/code]

よろしくお願いいたします


CC BY-SA 4.0
2019-10-02T03:01:51.573
59407
2019-10-02T03:01:51.573
34605
question
go
Go Modulesでローカルパッケージを修正する場合