Подтвердить что ты не робот

В чем разница между установкой go get и go?

После некоторой игры с инструментом go, похоже, что go get:

  1. (опционально) загрузки,
  2. компилирует,
  3. и устанавливает

часть программного обеспечения, а go install просто go install

  1. компилирует
  2. и устанавливает

Это. В этом случае, почему существует команда go install, так как go get заменяет ее?

4b9b3361

Ответ 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\ создаются.