Я только начал входить в Golang и хотел запустить файл в терминале с помощью go run, а затем имя файла main.go
Я настроил GOPATH так:
export GOROOT="/usr/local/go"
export GOPATH="/Users/myUsername/Desktop/gocode/"
export PATH="/Users/myUsername/Desktop/gocode/bin:$PATH"
Я создал папку на рабочем столе с именем gocode, поместил три папки с именами src, pkg и bin.
И код хранится в src, и когда я хочу запустить код, я получаю следующее сообщение.
моя команда была go run main.go
вывод, который я получил, был stat main.go: нет такого файла или каталога
Я понятия не имею, почему он не найдет каталог ...
terminal
command-line
spk888
источник
источник
Ответы:
к бежать
.go
файл, а не скомпилированный бинарный файл, нужно датьgo run
относительный путь к исходному файлу. Пытаться:к компилировать программу go в двоичный исполняемый файл, используйте:
Это будет работать, если ...
go
может быть найден; проверить это с помощью командыwhich go
, Возвращает ли он путь кgo
?GOPATH
среда установлена соответствующим образом; проверить это сecho $GOPATH
, Возвращает ли он каталог проекта? Увидеть перейти на вики-страницу GOPATH За советом.Сломать проблему
Откройте новое окно Terminal.app. Это откажется от предыдущего
export
команды, которые могут вызвать путаницу.Тестовое задание
go
может быть найден. использованиеwhich go
чтобы убедиться, что двоичный файл доступен. Если нет, то исправьте это с помощьюexport
команда.Проверьте структуру каталогов вашего проекта. Убедитесь, что имена не написаны с ошибками и ваши
.go
файлы имеют правильный суффикс. Искатель может скрывать истинный суффикс. Есть лиls -lR
перечислите содержимое, которое вы ожидаете?Проверьте, что вы находитесь в правильном каталоге.
go
Команды должны выполняться из каталога проекта. использованиеpwd
чтобы увидеть, в каком каталоге вы находитесь? Это каталог проектаgocode/
? Если нет, используйтеcd
Команда, чтобы исправить это.План проекта
Давайте предположим, что ваша файловая структура соответствует минимальному соглашению go:
три отдельные команды бежать
main.go
было бы:Это будет бежать основная функция внутри
main.go
, Чтобы создать исполняемый файл, подходящий для распространения, используйте командуgo build src/main.go
,Управление каталогами GOPATH
Что касается управления гопатами и проектами, у меня был успех с Гербертом Фишером С легкостью управляйте несколькими каталогами GOPATH подход.
источник
which go
вернулgo
дорожка. Тест сecho $GOPATH
вернул каталог проекта/Users/myUsername
,echo $GOPATH
а такжеgo version
вернуть?go version
возвращаетсяgo version go1.10.3 darwin/amd64
, О План проекта Я думаю, что структура та же, у меня просто есть еще одна папка под названиемpkg
в папкеgocode
, Командаcd gocode export GOPATH=$PWD go run src/main.go
не запускает main.go для меня.go
Я нахожу это очень продуктивным языком.