go get[-d][-f][-t][-u][-v][-fix][-insecure][build flags][packages]
Get загружает пакеты, названные путями импорта, вместе с их зависимостями. Затем он устанавливает названные пакеты, например go install.
Флаг -d дает указание остановиться после загрузки пакетов; то есть он дает указание не устанавливать пакеты.
Флаг -f, действительный только при установке -u, заставляет get -u не проверять, что каждый пакет был извлечен из репозитория системы управления версиями, что подразумевается его путем импорта. Это может быть полезно, если источник является локальной вилкой оригинала.
Флаг -fix дает команду запустить средство исправления для загруженных пакетов перед разрешением зависимостей или сборкой кода.
Флаг -insecure разрешает выборку из репозиториев и разрешение пользовательских доменов с использованием небезопасных схем, таких как HTTP. Используйте с осторожностью.
Флаг -t указывает, что нужно также загрузить пакеты, необходимые для создания тестов для указанных пакетов.
Флаг -u дает указание использовать сеть для обновления названных пакетов и их зависимостей. По умолчанию get использует сеть для проверки отсутствующих пакетов, но не использует ее для поиска обновлений для существующих пакетов.
Флаг -v включает подробный ход выполнения и вывод отладки.
Get также принимает флаги сборки для управления установкой. См. «Иди, помогите построить».
При извлечении нового пакета get создает целевой каталог GOPATH / src /. Если GOPATH содержит несколько записей, get использует первую. Для получения дополнительной информации см .: «иди, помогай гопату».
При извлечении или обновлении пакета get ищет ветку или тег, который соответствует локально установленной версии Go. Самым важным правилом является то, что если локальная установка работает под управлением версии «go1», поиск будет ветки или тега с именем «go1». Если такой версии не существует, он получает ветвь пакета по умолчанию.
Когда go get проверяет или обновляет репозиторий Git, он также обновляет любые подмодули git, на которые ссылается репозиторий.
Никогда не проверяйте и не обновляйте код, хранящийся в каталогах поставщиков.
Дополнительные сведения об указании пакетов см. В разделе «Пакеты справки go».
Для получения дополнительной информации о том, как «go get» находит исходный код для загрузки, см. «Go help importpath».
Этот текст описывает поведение get при использовании GOPATH для управления исходным кодом и зависимостями. Если вместо этого команда go выполняется в режиме с поддержкой модулей, детали флагов и эффектов get изменяются, как и go help get. См. Разделы 'go help modules' и 'go help module-get'.
Если это кому-то поможет, решение моей проблемы ( package github.com/coreos/go-iptables.git: invalid version control suffix in github.com/ path) заключалось в удалении .gitсуффикса из URL-адреса Github.
Excalibur
6
что -vделать?
Ю Ян Цзянь
3
@yuyangJian означает подробный вывод.
omrsin
3
любовь как -vкоманда не упоминается в этом списке лол FML ... конечно , это означает , многословен Тхо
Alexander Mills
2
Как запустить его после того, как вы его использовали go get?
acjay
75
Во-первых, нам нужен GOPATH
Это $GOPATHпапка (или набор папок), заданная ее переменной среды. Мы должны заметить, что это не $GOROOTкаталог, в который установлен Go.
Мы использовали ~/gocodeпуть на нашем компьютере для хранения исходного кода нашего приложения и его зависимостей. В GOPATHкаталоге также будут храниться двоичные файлы их пакетов.
Затем проверьте Go env
У вас должна быть система, $GOPATHа $GOROOTниже мой Env:
Моя среда go уже в порядке, но я не знаком с правилами go get, так что github.com:capotej/groupcache-db-experiment.gitэто не незаконно, каков законный путь?
Роджер
2
Попробуйте пойти get -v github.com/capotej/groupcache-db-experiment / ... как сказал @peterSO
Правин Мишра
2
Начиная с Go v1.8, по GOPATHумолчанию, $HOME/goесли не установлено. Источник 1 , 2 .
.git
в конце строки:go get github.com:capotej/groupcache-db-experiment
Ответы:
Например, показывая подробный вывод,
источник
package github.com/coreos/go-iptables.git: invalid version control suffix in github.com/ path
) заключалось в удалении.git
суффикса из URL-адреса Github.-v
делать?-v
команда не упоминается в этом списке лол FML ... конечно , это означает , многословен Тхоgo get
?Во-первых, нам нужен GOPATH
Это
$GOPATH
папка (или набор папок), заданная ее переменной среды. Мы должны заметить, что это не$GOROOT
каталог, в который установлен Go.Мы использовали
~/gocode
путь на нашем компьютере для хранения исходного кода нашего приложения и его зависимостей. ВGOPATH
каталоге также будут храниться двоичные файлы их пакетов.Затем проверьте Go env
У вас должна быть система,
$GOPATH
а$GOROOT
ниже мой Env:Теперь вы запускаете пакет download go:
Получить загрузки и установить пакеты, названные путями импорта, вместе с их зависимостями. Подробности можно посмотреть здесь .
источник
go get
, так чтоgithub.com:capotej/groupcache-db-experiment.git
это не незаконно, каков законный путь?GOPATH
умолчанию,$HOME/go
если не установлено. Источник 1 , 2 .