В чем разница между установкой go get и go?
После некоторой игры с инструментом go
, похоже, что go get
:
- (опционально) загрузки,
- компилирует,
- и устанавливает
часть программного обеспечения, а go install
просто go install
- компилирует
- и устанавливает
Это. В этом случае, почему существует команда go install
, так как go get
заменяет ее?
Ответы
Ответ 1
go install
является частью рабочего процесса при локальной работе. Предположим, вы хотите использовать библиотеку, но по какой-то причине требуется изменение. Вы бы сделали:
-
go get -d library
, который только загружает его;
- внести изменения в загруженный пакет;
-
go install library
, чтобы установить локальную версию.
Насколько я знаю, go get
не имеет флагов, чтобы указать, что он не должен загружаться, поэтому он не может заменить go install
здесь.
Тот же рабочий процесс используется при разработке нового пакета с нуля.
Ответ 2
go get
делает две основные вещи в следующем порядке:
-
загружает и сохраняет в $GOPATH/src/<import-path>
пакеты (исходные коды), названные в путях импорта, вместе с их зависимостями, затем
-
выполняет go install
Флаг -d
(go get -d
) указывает go get
to stop после загрузки пакетов; то есть он инструктирует go get
не получай go install
различия:
go get
//проверяем, нужно ли загружать пакеты, скачиваем при необходимости, затем компилируем
go install
//пропустить часть с загрузкой пакетов, просто скомпилировать (это приведет к ошибке, если какие-либо пакеты отсутствуют)
о переменной среды GOPATH
GOPATH
переменной среды должны быть установлены для того, чтобы быть в состоянии get
, build
и install
пакеты, и это определяет местоположение вашего рабочего пространства. Вероятно, это единственная переменная среды, которую вам нужно установить при разработке кода Go.
Опять же, GOPATH
должен указывать не на установку Go, а на ваше рабочее пространство.
Например, в Windows, если вы решите, что ваше рабочее пространство находится в c:\gowork\
, вам нужно будет установить значение GOPATH
как c:\gowork
![enter image description here]()
Ваш исходный код должен быть по адресу c:\gowork\src\<some project folder>\
и после запуска go get
в командную строку из c:\gowork\src\<some project folder>\
вы увидите c:\gowork\bin\
и c:\gowork\pkg\
создаются.