Голанд не распознает мой каталог поставщиков с Go 1.14 - PullRequest
5 голосов
/ 26 февраля 2020

Когда я открываю свой проект Goland, запускается следующая команда:

/usr/local/Cellar/go/1.14/libexec/bin/go list -m -json all #gosetup

В результате выдается следующая ошибка:

go list -m: can't compute 'all' using the vendor directory
    (Use -mod=mod or -mod=readonly to bypass.)

Goland не может разрешить пакеты, которые я импортирую , Когда я собираю и запускаю проект из командной строки, он работает нормально.

Мой проект структурирован следующим образом:

app/
    bin/
    pkg/
    src/
        app/
            cmd/
            vendor/
            go.mod

Мой GOROOT равен /usr/local/Cellar/go/1.14/libexec, а мой GOPATH is app/.

В настройках Goland в разделе Go / GOPATH установлены флажки «Использовать GOPATH, определенный в системной среде» и «Индексировать всю GOPATH».

В разделе Go / Go Модули (v go), я проверил "Включить интеграцию Go Модули (v go)" и "Режим Vendoring"

Я только что заметил, когда я изменяю GOPATH до /Users/myname/sdk/go1.13.4 проблема решена. Может ли это быть проблемой с Homebrew или изменением, введенным в go 1.14, о котором я не знаю?

Я исчерпывающий при описании проблемы, потому что я не знаком с Go и может быть пропустить что-то очевидное. Спасибо!

1 Ответ

9 голосов
/ 26 февраля 2020

Это известная проблема с Go Модулями и поддержкой поставщиков из-за изменения инструментария в Go 1.14.

Поэтому попробуйте EAP-версию среды IDE, https://jetbrains.com/go/nextversion , который содержит исправление для этого.

Мы отслеживаем это в https://youtrack.jetbrains.com/issue/GO-8855 и думаем о переносе этого в цикл выпуска 2019.3.

...