../golang/pkg/mod/github.com/wmentor/[email protected]/processor.go:72:9: undefined: tokens.Process
установил библиотеку
попробовал запустить пример
package main
import (
"fmt"
"strings"
"github.com/wmentor/lemmas"
)
func main() {
txt := "Создать экспертную систему."
processor := lemmas.New()
processor.AddText(strings.NewReader(txt))
processor.FetchResult(func(keyphrase string, weight float64) {
fmt.Println(keyphrase, weight)
})
}
выдаёт ошибку
../golang/pkg/mod/github.com/wmentor/[email protected]/processor.go:72:9: undefined: tokens.Process
у кого было подобное? Как лечить данную ошибку?
Ответы (1 шт):
Причина в том, что в инструкции написано go get -u github.com/wmentor/lemmas. Ключик -u означает скачать самую свежую версию зависимостей. В случае с lemmas это приводит к тому, что вместо github.com/wmentor/tokens v1.0.4 скачивается github.com/wmentor/tokens v1.0.7 где, как ни странно, отсутствует функция tokens.Process (хотя по распространённому мнению изенение третьей циферки версии не должно привносить breaking changes).
Вот как выглядят зависимости в go.mod после go get -u:
require (
github.com/wmentor/html v1.0.3 // indirect
github.com/wmentor/lemmas v0.0.6 // indirect
github.com/wmentor/tbuf v1.0.2 // indirect
github.com/wmentor/tokens v1.0.7 // indirect
golang.org/x/net v0.20.0 // indirect
golang.org/x/text v0.14.0 // indirect
)
а вот так после go get:
require (
github.com/wmentor/html v1.0.1 // indirect
github.com/wmentor/lemmas v0.0.6 // indirect
github.com/wmentor/tokens v1.0.4 // indirect
golang.org/x/net v0.0.0-20200301022130-244492dfa37a // indirect
golang.org/x/text v0.3.2 // indirect
)
Нужно устанавливать командой go get github.com/wmentor/lemmas, без -u. Тогда lemmas будет версии 1.0.4 и всё успешно скомпилируется.