Пакет xsd-makepkg загружается неправильно через команду go get - PullRequest
0 голосов
/ 23 января 2020
$ go get -u github.com/metaleap/go-xsd/xsd-makepkg 

/home/mypc/go/src/github.com/metaleap/go-util/fs/watcher-default.go:32:22: undefined: fsnotify.FileEvent
/home/mypc/go/src/github.com/metaleap/go-util/fs/watcher-default.go:64:35: undefined: fsnotify.FileEvent
/home/mypc/go/src/github.com/metaleap/go-util/fs/watcher-default.go:72:44: undefined: fsnotify.FileEvent
/home/mypc/go/src/github.com/metaleap/go-util/fs/watcher-default.go:79:18: me.Event undefined (type *Watcher has no field or method Event)
/home/mypc/go/src/github.com/metaleap/go-util/fs/watcher-default.go:83:21: cannot assign type func(<T>) to onEvt (type func(<T>)) in range
/home/mypc/go/src/github.com/metaleap/go-util/fs/watcher-default.go:97:18: me.Error undefined (type *Watcher has no field or method Error)
/home/mypc/go/src/github.com/metaleap/go-util/fs/watcher-default.go:119:15: me.Watch undefined (type *Watcher has no field or method Watch)

1 Ответ

0 голосов
/ 23 января 2020

github.com / metaleap / go -xsd "устарел с 2013 года" , поэтому его не слишком удивляет, что он больше не работает. Если вы проверите github, вы увидите комментарий: «ПОДДЕРЖИВАЕТСЯ В ТЕЧЕНИЕ ГОДОВ СЕЙЧАС: попробуйте вилки при возникновении проблем. link »

В этом случае причина ошибки, которую вы получаете, заключается в том, что github.com/metaleap/go-xsd/xsd-makepkg использует https://github.com/metaleap/go-util. go-util импортирует github.com/go-forks/fsnotify и в строке 32 в watcher-default. go пытается использовать OnEvent []func(evt *fsnotify.FileEvent). К сожалению, с момента выпуска go-util пакет fsnotify был обновлен и уже не имеет FileEvent (удалено где-то около 2014 года).

Я бы предложил найти альтернативный пакет. Если вы действительно хотите использовать эту версию, вы можете получить раннюю (до 1.0) версию fsnotify (но я бы не советовал ее делать, поскольку с тех пор, вероятно, было исправлено много).

Примечание: Более современные пакеты, использующие модули go, не должны страдать от этой проблемы (поскольку зависимости могут быть заблокированы для конкретной версии c).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...