# #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