Вчера go 1.13 был наконец выпущен. Хотя он был отложен на полмесяца, лучше было опоздать, чем нет.
Выпуск go 1.13 внес много изменений в go (см.: https://golang .org/doc/go1.13 ) Некоторые изменения могут не ощущаться непосредственно разработчиками, но некоторые изменения тесно связаны с ежедневной разработкой разработчиков. Среди них консолидация модулей go-это самое большое изменение, которое разработчики могут непосредственно ощутить в выпуске go 1.13.
Модули Go, которые были впервые выпущены в go 1.11, стали отличным решением для управления зависимостями после двух обновлений. Наряду с модулями go существует еще один, называемый Протокол прокси-сервера модуля С его помощью мы можем создать прокси-сервер модуля go и, наконец, отправить его переменным среды PROXY , чтобы указать путь команды go для последующего захвата модуля. Для наших китайских разработчиков отличный модуль go агент может помочь нам решить многие проблемы. Например, самый известный язык go golang.org/x/... Модули недоступны на материковой части Китая. Мы использовали много других способов, чтобы поймать их, но если мы будем полагаться на агента модуля, который может получить к ним доступ, мы получим вдвое больший результат с половиной усилий.
Потому что идти 1.13 будет ГОПРОКСИ По умолчанию материковая часть Китая недоступна. По умолчанию материковая часть Китая недоступна. Поэтому наши разработчики в Китае должны отныне изменять их GOPROXY Затем go можно использовать для разработки приложений. С этой целью мы совместно с надежным китайским поставщиком облачных услуг qiniuyun создали агент модуля go для наших китайских разработчиков goproxy.cn 。
Что такое? proxy.cn ?
Что такое? proxy.cn ? В настоящее время это самый надежный прокси-сервер модуля go в Китае. Если есть какие-либо сомнения, вы можете проверить всех агентов в списке, к которым можно получить доступ в Китае. Для этого и иди proxy.cn Доменные имена относительно похожи Для этого и иди proxy.cn
Я уже публиковал практическую статью раньше (см.: https://studygolang.com/topic… )。 Или это некоммерческий проект, направленный на предоставление сусликам в Китае и остальном мире бесплатного, надежного, непрерывного онлайн-агента и ускоренного модуля CDN. Потому что goproxy.cn Цинююнь, первая крупная компания, которая ест крабов на языке го в Китае, работает. Поэтому его стабильность и скорость не вызывают сомнений. Если ваша сетевая среда неплохая, она может быть невероятно быстрой go get
Некоторые люди могут спросить, почему Alibaba cloud-это большая фабрика, потому что она также очень быстрая. Почему бы не использовать модульный агент Alibaba cloud( mirrors.aliyun.com/goproxy ). Я могу сказать это только тогда, когда использую прокси-сервер alicloud для инициализации github.com/kubernetes/kubernetes Во время теста возникло большое количество 404 ошибок, из-за чего операция инициализации не могла быть завершена И он еще не поддерживает прокси-серверы ГОСУМДБ Значение по умолчанию равно sum.golang.org , поэтому вам придется изменить его вручную ГОСУМДБ Может использоваться нормально go 。 В случае сопоставимой скорости, почему бы не рассмотреть возможность использования более стабильной и высокодоступной напрямую? И в конце концов proxy.cn Это доменное имя легко запомнить, не так ли гопрокси и .cn Он исчез.
Вопросы и ответы
Вопрос: как использовать его в go 1.13 goproxy.cn ?
A: один иди завидуй -w://goproxy.cn,прямая Это прекрасно. Причина сращивания одного сзади ,прямая Потому что, поступая таким образом, мы можем в определенной степени решить проблему частных библиотек (конечно, goproxy.cn Не удается получить доступ к вашей личной библиотеке). это ПРОКСИ Принцип работы настройки таков: когда перейти При захвате целевого модуля, если обнаружена ошибка 404, он вернется к прямой То есть перейдите непосредственно к источнику целевого модуля (например, GitHub), чтобы захватить его. Так же, как это происходит, GitHub и другие подобные веб-сайты, размещающие код, в основном следуют принципу “если у вас нет доступа к нему, вы не будете существовать”. Поэтому я сказал, что этот параметр может решить проблему, связанную с тем, что частные библиотеки в определенной степени недоступны через прокси-сервер модуля.
Вопрос: как использовать его перед тем, как перейти 1.13 goproxy.cn ?
О: вы также можете установить переменные среды, но вам придется настраивать их вручную, и вы не можете использовать указанный выше суффикс ,прямой , потому что это то, что только что добавлено в go 1.13. Пожалуйста, обратитесь к proxy.cn Файл Readme.
Вопрос: как решить проблему частной библиотеки в go 1.13?
Ответ: в приведенном выше ответе я упомянул, что вы можете использовать go 1.13 для GOPROXY Новая функция списка прокси-серверов для proxy.cn Сделайте запасной вариант, то есть прямой Это способ решить проблему частной библиотеки, но это не идеальное решение. С этой целью go 1.13 также запустил GO БЕЗ ПРОКСИ Переменные среды (см.: https://golang.org/cmd/go/#hdr -Environment_ Задавая переменные, мы можем контролировать, какие пути к модулю игнорируются GOPROXY Мозговой извилины не было. например, ГОНОПРОКСИ=*.corp.example.com Это означает иди В захвате всего corp.example.com Все модули под трехуровневым именем поддомена будут игнорироваться GOPROXY Установите исходный адрес источника прямого возврата в целевой модуль.
Вопрос: в go 1.13, как предотвратить вмешательство в модули, полученные от обычных агентов модулей?
A: go 1.13 запустил новую GOSUMDB (значение по умолчанию равно sum.golang.org Для достижения этой цели его значением является адрес базы данных контрольной суммы доверенного модуля, go Все модули будут проверены на хэш, когда модуль будет завершен (независимо от того, выполняется ли обход агентом модуля или нет). Только в том случае, если он соответствует существующему в базе данных контрольных сумм, захват выполняется успешно. с GO БЕЗ ПРОКСИ Аналогично, go 1.13-это GOSUMDB Сопряжение выпущено GONOSUMDB Функция заключается в управлении go Какие модули в пути к модулю следует игнорировать для проверки.
Вопрос: установите их отдельно, НЕ используйте ПРОКСИ и НЕ ИСПОЛЬЗУЙТЕ базу данных SUM, это хлопотно. Есть ли лучший способ?
Ответ: Да, чтобы облегчить управление правилами частной библиотеки, go 1.13 также запустил ЧАСТНЫЙ Это можно легко интерпретировать как одновременную установку ПЕРЕЙТИ БЕЗ ПРОКСИ и ПОТРЕБИТЕЛЬ 。
Оригинальный автор: @ Шэнь гао фэй, уполномоченный.