mustikkakeitto
@mustikkakeitto

Почему компилятор не видит пакеты, импортированные из локального пакета модуля?

Импортированный пакет (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
  • Вопрос задан
  • 98 просмотров
Решения вопроса 1
mustikkakeitto
@mustikkakeitto Автор вопроса
Проблема была в кодировке одного из файлов (series.go) - присутствовал UTF-8 BOM заголовок; похоже компилятор их не переваривает.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы