Задать вопрос
Machez
@Machez
Бу!

Как правильно настроить пути для Golang в Windows?

OS: Windows 10
IDE: Gogland

Установил SDK Golang в C:\Go. Решил, попробовать что-нибудь накодить с целью изучения языка. Взял пример из интернета на тему маленького бота для Телеграм. Там в примере сказано, что нужно установить пакет Syfaro/telegram-bot-api:

$ go get github.com/Syfaro/telegram-bot-api

Установил... Вроде... Ошибок никаких при установке не вывалилось... Да вообще ничего не вывалилось. Команда go get отработала молча. Но внутри SDK нужный пакет не появился. Запуск приложения вылетает с ошибкой:

"C:\Program Files\JetBrains\Gogland 171.4694.61\bin\runnerw.exe" C:\Go\bin\go.exe run E:/Proj/main.go
src\bot.go:4:2: cannot find package "github.com/Syfaro/telegram-bot-api" in any of:
	C:\Go\src\github.com\Syfaro\telegram-bot-api (from $GOROOT)
	C:\Go\bin\src\github.com\Syfaro\telegram-bot-api (from $GOPATH)

Process finished with exit code 1


Мой go env:
$ go env
set GOARCH=amd64
set GOBIN=
set GOEXE=.exe
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOOS=windows
set GOPATH=C:/Users/Мачез/gocode
set GORACE=
set GOROOT=C:\Go
set GOTOOLDIR=C:\Go\pkg\tool\windows_amd64
set GCCGO=gccgo
set CC=gcc
set GOGCCFLAGS=-m64 -mthreads -fmessage-length=0
set CXX=g++
set CGO_ENABLED=1
set PKG_CONFIG=pkg-config
set CGO_CFLAGS=-g -O2
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-g -O2
set CGO_FFLAGS=-g -O2
set CGO_LDFLAGS=-g -O2


Я так понимаю проблема все же кроется в переменных $GOPATH и $GOROOT ? Как их настроить для Windows? Судя по go env вроде все норрм
  • Вопрос задан
  • 7004 просмотра
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 4
Singaporian
@Singaporian
Представьте на секунду, что у вас есть 5 проектов и три из них используют одну и ту же библиотеку, но разных версий. Как вы поставите три библиотеки разных версий в один GOPATH?
Вот именно поэтому изобрели dependency managment. Самый лучший на сегодня (и это не IMHO!) - gb. Он поставит зависимости в директорию vendor конкретного проекта.
Ответ написан
Комментировать
@stoitli
Достаточно ТОЛЬКО одну переменную - GOPATH.
Возможно, что не нравятся русские буквы в этом пути.
Ответ написан
Комментировать
Ответ написан
Комментировать
Судя по go env, у вас GOPATH=C:/Users/Мачез/gocode
Но Гогланд почему-то считает, что $GOPATH у вс тут: C:\Go\bin
Возможно, вы при создании проекта ему так указали. Скажите Гогланду, что $GOPATH у вас C:/Users/Мачез/gocode
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы