Я хочу установить пакеты из github на свой путь, я пробовал это:
go get github.com:capotej/groupcache-db-experiment.git
репозиторий здесь .
Я хочу установить пакеты из github на свой путь, я пробовал это:
go get github.com:capotej/groupcache-db-experiment.git
репозиторий здесь .
Ответы:
Скачайте и установите пакеты и зависимости
Использование:
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'.
См. Также: go build, go install, go clean.
Например, показывая подробный вывод,
$ go get -v github.com/capotej/groupcache-db-experiment/...
github.com/capotej/groupcache-db-experiment (download)
github.com/golang/groupcache (download)
github.com/golang/protobuf (download)
github.com/capotej/groupcache-db-experiment/api
github.com/capotej/groupcache-db-experiment/client
github.com/capotej/groupcache-db-experiment/slowdb
github.com/golang/groupcache/consistenthash
github.com/golang/protobuf/proto
github.com/golang/groupcache/lru
github.com/capotej/groupcache-db-experiment/dbserver
github.com/capotej/groupcache-db-experiment/cli
github.com/golang/groupcache/singleflight
github.com/golang/groupcache/groupcachepb
github.com/golang/groupcache
github.com/capotej/groupcache-db-experiment/frontend
$
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.
export GOPATH=$HOME/gocode
export PATH=$PATH:$GOPATH/bin
Мы использовали ~/gocode
путь на нашем компьютере для хранения исходного кода нашего приложения и его зависимостей. В GOPATH
каталоге также будут храниться двоичные файлы их пакетов.
Затем проверьте Go env
У вас должна быть система, $GOPATH
а $GOROOT
ниже мой Env:
GOARCH="amd64"
GOBIN=""
GOCHAR="6"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/elpsstu/gocode"
GORACE=""
GOROOT="/home/pravin/go"
GOTOOLDIR="/home/pravin/go/pkg/tool/linux_amd64"
CC="gcc"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0"
CXX="g++"
CGO_ENABLED="1"
Теперь вы запускаете пакет download go:
go get [-d] [-f] [-fix] [-t] [-u] [build flags] [packages]
Получить загрузки и установить пакеты, названные путями импорта, вместе с их зависимостями. Подробности можно посмотреть здесь .
go get
, так что github.com:capotej/groupcache-db-experiment.git
это не незаконно, каков законный путь?
.git
в конце строки:go get github.com:capotej/groupcache-db-experiment