Я создаю проект go с версией 1.12.1.
Если я запускаю GOPATH="$(pwd)/vendor:$(pwd)" GOBIN="$(pwd)/bin" go clean
, я получаю следующую ошибку:
can't load package: package github.com/marvincaspar/go-example: unknown import path "github.com/marvincaspar/go-example": cannot find module providing package github.com/marvincaspar/go-example
Это только для go clean
, go run
или go build
отлично работает.
Вот структура папок основного кода:
.
├── Makefile
├── cmd
│ └── server
│ └── main.go
├── go.mod
├── go.sum
└── pkg
└── storage
└── mysql
└── storage.go
Вот как выглядит файл go.mod
:
module github.com/marvincaspar/go-example
go 1.12
require (
github.com/go-sql-driver/mysql v1.4.1
)
И, наконец, файл main.go
:
package main
import (
"fmt"
"os"
"github.com/marvincaspar/go-example/pkg/storage/mysql"
)
func main() {
if err := run(); err != nil {
fmt.Fprintf(os.Stderr, "%v", err)
os.Exit(1)
}
}
func run() error {
// init storage
s := mysql.NewStorage()
// do some other stuff...
}
Есть идеи, что я делаю не так?