Импортированный пакет (github.com/texttheater/golang-levenshtein/levenshtein) нормально работал, пока функционал вместе с импортом этого пакета не был вынесен в отдельный локальный пакет (/pkg/analyzer).
Было:
login_watch/main.go:
package main
import (
"container/list"
"fmt"
"github.com/texttheater/golang-levenshtein/levenshtein"
"time"
"encoding/json"
"log"
"net/http"
"sync"
"github.com/gorilla/mux"
rotatelogs "github.com/lestrrat-go/file-rotatelogs"
)
...
Стало:
login_watch/main.go:
package main
import (
"container/list"
"fmt"
"github.com/mustikkakeitto/login_watch/pkg/analyzer"
"time"
"encoding/json"
"log"
"net/http"
"sync"
"github.com/gorilla/mux"
rotatelogs "github.com/lestrrat-go/file-rotatelogs"
)
...
login_watch/pkg/analyzer/series.go:
// Package analyzer implements functions to detect series
// built from the particular phone numbers
package analyzer
import (
"container/list"
"fmt"
"time"
"github.com/texttheater/golang-levenshtein/levenshtein"
"log"
)
...
Запуск выдаёт ошибку
\login_watch>go run .
pkg\analyzer\series.go:10:2: cannot find package
Пробовал с другими импортами - то же самое, в main.go их видит, в локальном пакете - нет.
Облазил все форумы, ничего не нашёл.
Информация для справки:
login_watch/go.mod:
module github.com/mustikkakeitto/login_watch
go 1.16
require (
github.com/gorilla/mux v1.8.0
github.com/jonboulle/clockwork v0.2.2 // indirect
github.com/lestrrat-go/file-rotatelogs v2.4.0+incompatible
github.com/lestrrat-go/strftime v1.0.4 // indirect
github.com/pkg/errors v0.9.1 // indirect
github.com/texttheater/golang-levenshtein/levenshtein v0.0.0-20200805054039-cae8b0eaed6c // indirect
)
go version go1.16.4 windows/amd64
GOPATH=C:\Users\Alex\go
Environment variable GOROOT not defined
Environment variable GO111MODULE not defined
Структура проекта:
C:.
│ build4linux.cmd
│ Dockerfile
│ go.mod
│ go.sum
│ main.go
│
├───bin
├───log
└───pkg
└───analyzer
series.go
series_test.go