чтение github.com/username/kit/go/database/go/database/go.mod в версии go / database / v1.0.1: неизвестная версия go / database / v1.0.1

У меня есть общедоступный репозиторий, на который я нажал v1.0.3, и имеющий следующую структуру

go
-database
--database.go
--go.mod
--go.sum

И мне это нужно с

require github.com/michael-ottink/kit/go/database v1.0.3

Чтобы проверить, как будет работать репозиторий. Но при запуске go mod tidy в основном проекте появляется следующая ошибка.

github.com/michael-ottink/kit/go/[email protected]: reading github.com/michael-ottink/kit/go/database/go/database/go.mod at revision go/database/v1.0.2: unknown revision go/database/v1.0.3

Я новичок в этом, и я изо всех сил пытаюсь понять, в чем проблема? Если потребуется дополнительная информация, я обновлю сообщение.

это моя база данных. go

package database

    import (
        "gorm.io/gorm"
    )
    
    type Database struct {
        *gorm.DB
    }
    
    type Config struct {
        Driver   string
        Host     string
        Username string
        Password string
        Port     string
        Database string
        Timezone string
    }

Эта ошибка возникает, если вы пытаетесь включить ее в совершенно новый проект, используя только go.mod, go.sum и main.go.


person Mike Ottink    schedule 18.11.2020    source источник
comment
Можете ли вы показать содержание github.com/username/kit/go/database/go.mod?   -  person leaf bebop    schedule 18.11.2020
comment
Код в вашем вопросе и ссылка не совпадают. Не могли бы вы привести воспроизводимый пример проблемы?   -  person leaf bebop    schedule 18.11.2020
comment
github.com/michael-ottink/kit   -  person Mike Ottink    schedule 18.11.2020
comment
Попробуйте изменить строку module database на module github.com/michael-ottink/kit/go/database   -  person leaf bebop    schedule 18.11.2020
comment
Вытолкнул новую версию с изменением модуля и изменил ее в моем файле мода, но я получаю ту же ошибку: github.com/michael-ottink/kit/go/[email protected]: чтение github.com/michael-ottink/ kit / go / database / go / database / go.mod в версии go / database / v1.0.3: неизвестная версия go / database / v1.0.3   -  person Mike Ottink    schedule 18.11.2020
comment
Я думаю, что у вашей конфигурации git есть проблема. вам нужно использовать ssh в конфигурации git, а не https, т.е. git config --global [email protected]:.insteadOf https://github.com/   -  person Em Ae    schedule 22.11.2020


Ответы (1)


При фиксации v1.0.3 был добавлен пустой модуль с именем slice. Репозиторий стал многомодульным, и подразумевается еще несколько правил. Документация для многомодульного репозитория находится здесь.

К сожалению, первая папка репозитория с именем /kit не содержит модулей, а содержит только ее подпапку /go.

При обнаружении нескольких модулей репозиторию присваивается тег типа v1.0.3, но модулей нет, что означает, что go get github.com//michael-ottink/[email protected] ничего не делает.

При попытке получить подпапку с помощью go get github.com//michael-ottink/kit/[email protected] возвращенная ошибка подтверждает, что модуль не найден.

Чтобы получить репо, тег может выглядеть как [email protected]

Чтобы пометить каждый модуль индивидуально, tag может быть go/database/v1.0.3. Когда модуль слайсов готов, его можно пометить аналогичным образом.

Остается, что при запуске с модулями один репозиторий на модуль является более безопасным вариантом, как указано в документации (здесь):

Для всех, кроме опытных пользователей, вы, вероятно, захотите принять обычное соглашение, согласно которому один репозиторий = один модуль. Для долгосрочной эволюции вариантов хранения кода важно, чтобы репозиторий мог содержать несколько модулей, но это почти наверняка не то, что вы хотите делать по умолчанию.

person Constantin Konstantinidis    schedule 22.11.2020