иди устанавливай github.com/dmacvicar/terraform-provider-libvirt@latest — показывает ошибку

# #go #kvm #libvirt #terraform-provider

Вопрос:

Я пытаюсь предоставить виртуальные машины на KVM с помощью Terraform. одним из шагов при установке является загрузка и установка поставщика купить команду:

иди устанавливай github.com/dmacvicar/terraform-provider-libvirt@latest

но это ошибки:

Файл go.mod для модуля, предоставляющего именованные пакеты, содержит одну или несколько директив замены. Он не должен содержать директив, которые могли бы привести к его интерпретации иначе, чем если бы он был основным модулем.

Я не нашел решения, неужели кто-то сталкивался с этим? Спасибо

Ответ №1:

Как заметил Джимб в комментариях:

Если в модуле есть директивы заменить или исключить, правильным методом установки является клонирование исходного кода и его установка,

 git clone github.com/dmacvicar/terraform-provider-libvirt cd terraform-provider-libvirt go install  

Комментарии:

1. go get является устаревшей командой установки и предназначена только для управления зависимостями. go install является правильной командой после того, как правильный источник был извлечен локально, чтобы можно было использовать директивы замены.

2. Спасибо, я обновил ответ.

3. Нет, вам не следует полагаться на то, что вы попытаетесь использовать go install , а затем потерпите неудачу и перейдете в GOPATH/pkg/mod исходный каталог (если » go install сработает, тогда больше ничего не останется делать) — вы извлекаете нужный источник и создаете этот источник.

4. Я проверил это и иду устанавливать, ничего не компилирую.

5. он просто клонирует источники в GOPATH/pkg/mod