В IntelliJ импорт не загружается, хотя интеграция модулей go включена

При использовании IntelliJ IDEA с подключаемым модулем Go или GoLand и при использовании Go 1.11 или более поздней версии вы можете включить модули Go, выбрав «Настройки» -> «Языки и платформы» -> «Go» -> «Модули Go» (vgo) и установив флажок «Включить модули Go». (vgo) интеграция».

Если у вас есть проект, который был правильно инициализирован go mod init и, следовательно, имеет файлы go.mod и go.sum, он загрузит зависимости при сборке из командной строки с помощью go build или из IntelliJ, нажав зеленый значок воспроизведения.

Однако операторы импорта удаленных зависимостей могут оставаться красными, даже если кажется, что они загружены и отображаются в файле go.mod.

Любопытно, что проект go на самом деле запускается из командной строки, а не из IntelliJ. Почему это и как я могу это исправить?


person Benjamin    schedule 20.07.2019    source источник


Ответы (1)


Причина, по которой этот подход не работает, связана с конфигурацией в IntelliJ. Вот почему он будет работать из командной строки, но не в IntelliJ.

Есть два способа исправить это:

  1. Перейдите в «Настройки» -> «Языки и платформы» -> «Перейти» -> «Модули перехода» (vgo) и убедитесь, что флажок «Режим поставщика» не установлен.
  2. Убедитесь, что в вашем проекте IntelliJ есть папка с именем "vendor". Теперь можно смело ставить галочку «Режим продавца».

При первом подходе зависимости, определенные в файле go.mod, могут быть повторно загружены, например, когда проект go запускается из места, где этих зависимостей нет в локальном реестре пакетов.

При втором подходе зависимости помещаются в папку «vendor», и их не обязательно повторно загружать, они как бы становятся частью проекта.

person Benjamin    schedule 20.07.2019