Автоматический импорт сторонних пакетов go - PullRequest
0 голосов
/ 23 октября 2018

Я новичок в GO lang, и мне было интересно, есть ли способ автоматически загрузить все импортируемые файлы.Итак, давайте предположим, что мне нужно использовать github.com/gorilla/mux и несколько других пакетов в моей базе кода.Должен ли я вручную перейти к своему ~/go/src и запустить go get repo или есть более разумный способ управления зависимостями.Я использую Goland IDE для своей разработки.Любая помощь приветствуется.

Ответы [ 3 ]

0 голосов
/ 23 октября 2018

Вы можете использовать dep менеджер пакетов, который будет проверять ваш код и автоматически импортировать все пакеты, которые вы используете в своем коде.Если вы работаете с> go1.11, я бы предложил использовать только что добавленный go mod.

0 голосов
/ 23 октября 2018

Существует несколько подходов:

  • Просто go get github.com/gorilla/mux, которые будут загружать источники в ваш $GOPATH и будут автоматически разрешены при компиляции
  • Использовать управление зависимостями (godep, glide[устарело])
  • Используйте модули (экспериментальная функция в Go 1.11 - Модуль. Проверьте больше здесь )

Если вы хотите хорошее и стабильное решение, используйтеdep (. Сначала вам нужно установить его, а затем запустить:

cd $GOPATH/src/path/to/project
dep init
dep ensure -add github.com/gorilla/mux

В вашем проекте вы увидите новую папку vendor и 2 новых файла конфигурации зависимостей Gopkg.lock и Gopkg.toml.Узнайте больше о godep здесь .

Затем запустите ваш основной файл как обычно.

0 голосов
/ 23 октября 2018

если есть способ автоматически загрузить все импортируемые файлы

Вы можете загрузить все импортированные pkgs и их зависимости, запустив go get из командной строки.

Я использую Goland IDE для своей разработки

Я тоже использую Goland.Если импорт не может быть найден (т. Е. Путь импорта выделен красным цветом), вы можете поместить над ним курсор ввода, нажать alt + enter и выбрать go get ... во всплывающем окне для автоматического импорта.

...