2017-01-12 8 views
-1

Попытки следовать вместе с https://jacobmartins.com/2016/02/29/getting-started-with-oauth2-in-go/Go Get oauth2 дает мне странные ошибки на Linux Mint

Когда я запустить go get golang.org/x/oauth2 ничего странного приходит, но при попытке запустить код, используя go run main.go

Я получаю следующее мой терминал:

# google.golang.org/grpc/credentials 
../../../google.golang.org/grpc/credentials/credentials_util_pre_go17.go:58:32: error: reference to undefined field or method ‘GetCertificate’ 
    GetCertificate:   cfg.GetCertificate, 
           ^
../../../google.golang.org/grpc/credentials/credentials_util_pre_go17.go:69:32: error: reference to undefined field or method ‘ClientSessionCache’ 
    ClientSessionCache:  cfg.ClientSessionCache, 
           ^
../../../google.golang.org/grpc/credentials/credentials_util_pre_go17.go:72:32: error: reference to undefined field or method ‘CurvePreferences’ 
    CurvePreferences:   cfg.CurvePreferences, 
           ^
../../../google.golang.org/grpc/credentials/credentials_util_pre_go17.go:58:3: error: unknown field ‘GetCertificate’ in ‘tls.Config’ 
    GetCertificate:   cfg.GetCertificate, 
^
# golang.org/x/net/http2/hpack 
../../../golang.org/x/net/http2/hpack/huffman.go:14:20: error: reference to undefined identifier ‘sync.Pool’ 
var bufPool = sync.Pool{ 
        ^
../../../golang.org/x/net/http2/hpack/huffman.go:14:24: error: expected ‘;’ or newline after top level declaration 
var bufPool = sync.Pool{ 
         ^
# golang.org/x/net/context/ctxhttp 
../../../golang.org/x/net/context/ctxhttp/ctxhttp_pre17.go:36:5: error: reference to undefined field or method ‘Cancel’ 
    req.Cancel = cancel 
    ^
# golang.org/x/oauth2/jws 
../../../golang.org/x/oauth2/jws/jws.go:75:17: error: reference to undefined identifier ‘base64.RawURLEncoding’ 
    return base64.RawURLEncoding.EncodeToString(b), nil 
       ^
../../../golang.org/x/oauth2/jws/jws.go:93:16: error: reference to undefined identifier ‘base64.RawURLEncoding’ 
    return base64.RawURLEncoding.EncodeToString(b), nil 
       ^
../../../golang.org/x/oauth2/jws/jws.go:113:16: error: reference to undefined identifier ‘base64.RawURLEncoding’ 
    return base64.RawURLEncoding.EncodeToString(b), nil 
       ^
../../../golang.org/x/oauth2/jws/jws.go:124:25: error: reference to undefined identifier ‘base64.RawURLEncoding’ 
    decoded, err := base64.RawURLEncoding.DecodeString(s[1]) 
         ^
../../../golang.org/x/oauth2/jws/jws.go:151:41: error: reference to undefined identifier ‘base64.RawURLEncoding’ 
    return fmt.Sprintf("%s.%s", ss, base64.RawURLEncoding.EncodeToString(sig)), nil 
             ^
../../../golang.org/x/oauth2/jws/jws.go:174:33: error: reference to undefined identifier ‘base64.RawURLEncoding’ 
    signatureString, err := base64.RawURLEncoding.DecodeString(parts[2]) 

Go версия идти версия xgcc (Ubuntu 4.9.3-0ubuntu4) 4.9.3 Linux/amd64

Запуск Linux Mint 17.3 Cinnamon

Кто-нибудь знает, что я делаю неправильно?

+1

Где вы размещаете ваш 'main.go'? Вы следуете за проектной структурой go lang, как указано здесь - https://golang.org/doc/code.html? – tuk

+0

main.go находится в моем домашнем каталоге по проектам/golang/github.com/user/rent_api. gopath установлен в папку projects/golang, а goroot is/usr – Kwestion

ответ

0

Похоже, вы используете установку go cgo. На Linux mint golang-go похоже имя распространения.

Но я бы предложил установить последнюю версию go (или версия go 1.5 atleast), как указано в приведенной ниже ссылке, и повторите попытку.

https://golang.org/doc/install

Удалить текущую установку, прежде чем приступить к установке golang-go.

+0

Удалено, удалив usr/local/go, удаленные ссылки на go enang переменные в .profile & .bashrc, переустановил последнюю версию go от golang.org загружает страницу ... все равно получаю тот же результат при запуске 'go version' - при использовании go env я получаю GOTOOLDIR = "/ usr/lib/gccgo/tool" ... должен ли я удалить и использовать sudo apt-get install golang -идти? – Kwestion

+0

Что вы показываете GOROOT? – tuk

+0

Я бы предложил установить переход с golang.org.Добавить расположение установочного каталога в GOROOT. Добавьте GOROOT в переменную env PATH. Также убедитесь, что установка 'cgo' не находится в вашей' PATH'. – tuk

 Смежные вопросы

  • Нет связанных вопросов^_^