Go модулей разветвленных проектов, не получающих правильную версию / код репозитория. Какое правильное решение? - PullRequest
0 голосов
/ 16 апреля 2020

Я работаю с Golang 1.14 модулями (в Ubuntu 18.04), и я столкнулся с очень разочаровывающим топи c, в котором я надеюсь найти лучшее решение.

Описание

У меня есть git репо, раздвоенный из другой замечательной работы (cron). Владелец cron уже ответил мне, сказав, что ему нравится моя идея, но она не хочет встраивать ее в свою работу. Хорошо, поэтому я создал свой собственный форк и собираюсь использовать его как ссылку на оригинальную работу. Разбудив его работу и изменив мои потребности, я использовал этот новый модуль (повестку дня) в своем вторичном модуле, который все еще находится в стадии разработки.

Внимание! Использование репозитория fre sh без вилки не допускается, Я неправильно зачисляю оригинальную работу и не получаю от нее обновления обычным способом

Описание проблемы

Когда я просто импортирую свой модуль в мои коды, как в

package main

import (
    "fmt"
    "github.com/Vinggui/agenda"
)

func main() {
    agendaService := agenda.New(agenda.WithSeconds())
    fmt.Print("Hi!\n")
    agendaService=agendaService
}

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

go get "github.com/Vinggui/agenda"

Golang получает правильную версию в моем хранилище!

Я много искал об этом, и мне кажется, что Golang не «like» разветвляется и ищет более известный репозиторий.

Временное решение

Лучшее решение, которое я нашел на данный момент, - это установка следующего кода в мой go .mods

replace github.com/Vinggui/agenda => github.com/Vinggui/agenda v0.1.4

Желаемый результат

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

"github.com/Vinggui/agenda"

Есть ли что-нибудь лучшее, что я могу сделать? Почему Golang делает то, что делает сейчас?

1 Ответ

0 голосов
/ 20 апреля 2020

Спасибо за ваши ответы.

Как бы просто этот вопрос ни казался для некоторых, прокси-сервер golang действительно запутал меня. перепутал с его версиями, а моя golang версия была ниже 1.13 . В последних версиях прокси-серверу по умолчанию задано другое значение, и мой репозиторий больше не работает.

При поиске в Интернете я понял, что прокси-сервер google go является окончательным, поэтому теперь я могу думать только так. фактически обновить мою версию до последней из сохраненных прокси-версий.

Во всяком случае, мне очень помогло наблюдать этот (новый для меня) параметр прокси-сервера по умолчанию и его функции.

Еще раз спасибо.

...