к бежать .go
файл, а не скомпилированный бинарный файл, нужно дать go run
относительный путь к исходному файлу. Пытаться:
go run src/main.go
к компилировать программу go в двоичный исполняемый файл, используйте:
go build src/main.go
Это будет работать, если ...
go
может быть найден; проверить это с помощью команды which go
, Возвращает ли он путь к go
?
- Ваш
GOPATH
среда установлена соответствующим образом; проверить это с echo $GOPATH
, Возвращает ли он каталог проекта? Увидеть перейти на вики-страницу GOPATH За советом.
Сломать проблему
Откройте новое окно Terminal.app. Это откажется от предыдущего export
команды, которые могут вызвать путаницу.
Тестовое задание go
может быть найден. использование which go
чтобы убедиться, что двоичный файл доступен. Если нет, то исправьте это с помощью export
команда.
Проверьте структуру каталогов вашего проекта. Убедитесь, что имена не написаны с ошибками и ваши .go
файлы имеют правильный суффикс. Искатель может скрывать истинный суффикс. Есть ли ls -lR
перечислите содержимое, которое вы ожидаете?
Проверьте, что вы находитесь в правильном каталоге. go
Команды должны выполняться из каталога проекта. использование pwd
чтобы увидеть, в каком каталоге вы находитесь? Это каталог проекта gocode/
? Если нет, используйте cd
Команда, чтобы исправить это.
План проекта
Давайте предположим, что ваша файловая структура соответствует минимальному соглашению go:
gocode/
gocode/bin/
gocode/src/
gocode/src/main.go
три отдельные команды бежать main.go
было бы:
cd gocode
export GOPATH=$PWD
go run src/main.go
Это будет бежать основная функция внутри main.go
, Чтобы создать исполняемый файл, подходящий для распространения, используйте команду go build src/main.go
,
Управление каталогами GOPATH
Что касается управления гопатами и проектами, у меня был успех с Гербертом Фишером С легкостью управляйте несколькими каталогами GOPATH подход.