Подтвердить что ты не робот

Невозможно загрузить пакет: package.: no buildable Go исходных файлов

Вот сообщение об ошибке:

% go get     
can't load package: package .: no buildable Go source files in /Users/7yan00

% echo $GOPATH     
/Users/7yan00/Golang

Как вы устраните эту ошибку?

4b9b3361

Ответ 1

Убедитесь, что вы используете эту команду в исходной папке проекта проекта (например, /Users/7yan00/Golang/src/myProject).

Одна альтернатива (похожа на эту ошибку) заключается в использовании опции -d (см. go get command)

go get -d

Флаг -d дает указание прекратить работу после загрузки пакетов; то есть он инструктирует не устанавливать пакеты.

Посмотрите, поможет ли это в вашем случае.


Но в целом, как описано в этом потоке:

go get предназначен для пакета (ов), а не для репозиториев.

поэтому, если вам нужен конкретный пакет, скажем, go.text/encoding, используйте

go get code.google.com/p/go.text/encoding

если вы хотите, чтобы все пакеты в этом репозитории использовали ..., чтобы обозначить, что:

go get code.google.com/p/go.text/...

Ответ 2

Вы должны проверить $GOPATH. Если в имени пакета есть пустой каталог, go get не загружает пакет из репозитория.

Например, если я хочу получить пакет github.com/googollee/go-socket.io из репозитория github, и в $GOPATH уже есть пустой каталог github.com/googollee/go-socket.io, go get не загружает пакет, а затем жалуется, что в каталоге нет готового исходного файла Go. Удалите любой пустой каталог в первую очередь.

Ответ 3

Другая возможная причина для сообщения:

не может загрузить пакет:....: нет встроенных исходных файлов Go

Это когда скомпилированные исходные файлы имеют:

// +build ignore

В этом случае файлы игнорируются и не могут быть созданы в соответствии с запросом. Это поведение задокументировано на https://golang.org/pkg/go/build/

Ответ 4

Чтобы решить эту проблему для моей ситуации:

Мне нужно было указать более конкретный подпакет для установки.

Неправильно:

go get github.com/garyburd/redigo

Правильно:

go get github.com/garyburd/redigo/redis

Ответ 5

Если вам нужны все пакеты в этом репозитории, используйте ..., чтобы обозначить это, например:

go get code.google.com/p/go.text/...

Ответ 6

У меня был этот точный код ошибки, и после проверки мой репозиторий обнаружил, что не было никаких файлов go, а фактически просто больше каталогов. Так что для меня это была скорее красная сельдь, чем ошибка.

Я бы порекомендовал сделать

иди env

и убедившись, что все в порядке, проверьте переменные среды в вашей ОС и убедитесь, что ваша оболочка (bash или w/e) не скомпрометировала ее с помощью чего-то вроде файла .bash_profile или .bashrc. удачи.