Я пишу программу на ходу, которая отправляет HTTP-запрос на другой сервер и читает ответ. Программа отлично работает на Windows / Mac, но когда я запускаю программу на Rasp Pi 3 на базе ARM с ОС Rasbian, она не работает.
Каждый раз, когда я пытаюсь создать код, он выдает эту ошибку, может ли кто-нибудь подсказать, что я здесь делаю неправильно?
# golang.org/x/crypto/acme/autocert
../../go/src/golang.org/x/crypto/acme/autocert/autocert.go:301: hello.SupportedProtos undefined (type *tls.ClientHelloInfo has no field or method SupportedProtos)
../../go/src/golang.org/x/crypto/acme/autocert/autocert.go:311: hello.SignatureSchemes undefined (type *tls.ClientHelloInfo has no field or method SignatureSchemes)
../../go/src/golang.org/x/crypto/acme/autocert/autocert.go:314: hello.SignatureSchemes undefined (type *tls.ClientHelloInfo has no field or method SignatureSchemes)
../../go/src/golang.org/x/crypto/acme/autocert/autocert.go:315: undefined: tls.SignatureScheme
../../go/src/golang.org/x/crypto/acme/autocert/autocert.go:317: undefined: tls.ECDSAWithP256AndSHA256
../../go/src/golang.org/x/crypto/acme/autocert/autocert.go:318: undefined: tls.ECDSAWithP384AndSHA384
../../go/src/golang.org/x/crypto/acme/autocert/autocert.go:318: undefined: tls.ECDSAWithP521AndSHA512
../../go/src/golang.org/x/crypto/acme/autocert/autocert.go:344: undefined: tls.TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
../../go/src/golang.org/x/crypto/acme/autocert/autocert.go:347: undefined: tls.TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305
Заранее благодарим за вашу поддержку, дайте мне знать, если вам понадобится дополнительная информация.
@mkopriva Версия Go: go 1.7.4 linux / arm и ОС Rasbian: Rasbian 4.14.71-v7 +
Я считаю, что некоторые из этих полей были добавлены в 1.8, поэтому пакет autocert
не синхронизирован с std lib. Обновите Go.
@mkopriva Я использовал последнюю версию только с помощью этой команды: «sudo snap install go --classic». Не уверен, почему он устанавливает 1.7.4, может быть, это последняя версия на ARM?
@mkopriva это была проблема, обновите мой GO до 1.11, и теперь все работает, спасибо.
Я не знаком с snapd, поэтому я не уверен, как он определяет версию, но этот gif предлагает указать версию с параметром канала snapcraft.io/go. Я рад, что ты починил это.
Убедитесь, что вы используете ту же версию Go, что и другие платформы. Некоторые функции могли быть добавлены в более новую версию.
Какая версия go у вас установлена на малине?