Как исправить ошибку сборки Go "не удается загрузить пакет" с модулями Go? - программирование

Как исправить ошибку сборки Go "не удается загрузить пакет" с модулями Go?

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

Модуль находится в папке за пределами $ GOPATH со следующей структурой:

example.com
├── my-project
├── ├── main
├── ├── ├── main.go
├── ├── go.mod

Я запустил go mod init example.com/my-project в каталоге example.com/my-project и создал файл go.mod, показанный выше.

main.go имеет основное содержание:

package main

import (
"fmt"
)
func main(){
 fmt.Println("Hello, world!")
}

После попытки запустить go build в каталоге example.com/my-project я получаю следующее сообщение об ошибке:

can't load package: package example.com/my-project: unknown import path "example.com/my-project": cannot find module providing package example.com/my-project.

Я также попытался запустить go build в каталоге /, за пределами example.com/my-project, и у меня получаются похожие результаты, но результаты не срабатывают:

can't load package: package.: no Go files in...

Возможно, я неправильно понял некоторые основные вещи, так что спасибо за ваше терпение и любую помощь, которую вы можете оказать.

4b9b3361

Ответ 1

нет необходимости в директории main, просто переместите ваш main.go и go.mod на example.com/my-project, и он будет работать.

Корень проекта должен выглядеть так:

.
├── go.mod
└── main.go