Как использовать Golang's Go для управления зависимостями через прокси-сервер?

Я пытаюсь создать проект с зависимостью gonum и столкнулся с проблемой, что у нас есть корпоративный прокси, который блокирует многие направления в Интернете.

github.com доступен через https. gonum.org нет.

Репозиторий Gonum размещен на GitHub. Gonum.org каким-то образом переходит к нему, так как репозиторий, проверенный в gonum.org/v1/gonum, является просто клоном github. Использование инструментов go mod по умолчанию извлекает весь код, который завершается неудачно, поскольку URL-адреса github связаны с gonum.org, который прокси-сервер блокирует.

Есть ли способ скачать gonum через github и использовать символические ссылки / копирование, чтобы все еще иметь возможность использовать его?

1 ответ

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

Синтаксис

module example.com/me/hello

require (
  example.com/me/goodbye v0.0.0
)

replace example.com/me/goodbye => ../goodbye

https://github.com/golang/go/wiki/Modules

Также возможно настроить прокси-сервер за пределами вашей корпоративной сети, если приведенное выше решение не адаптировано для вашей команды: https://github.com/golang/go/wiki/Modules#are-there-always-on-module -repositories-и-предприятия-прокси

Другие вопросы по тегам