"go get" installation fails: invalid character U+007E
Describe the bug
Trying to run go get github.com/jesseduffield/lazydocker, but it fails with these error messages:
# github.com/jesseduffield/lazydocker/vendor/golang.org/x/exp/constraints
go/src/github.com/jesseduffield/lazydocker/vendor/golang.org/x/exp/constraints/constraints.go:13:2: invalid character U+007E '~'
go/src/github.com/jesseduffield/lazydocker/vendor/golang.org/x/exp/constraints/constraints.go:13:7: syntax error: unexpected |, expecting semicolon or newline or }
go/src/github.com/jesseduffield/lazydocker/vendor/golang.org/x/exp/constraints/constraints.go:20:2: invalid character U+007E '~'
go/src/github.com/jesseduffield/lazydocker/vendor/golang.org/x/exp/constraints/constraints.go:20:8: syntax error: unexpected |, expecting semicolon or newline or }
go/src/github.com/jesseduffield/lazydocker/vendor/golang.org/x/exp/constraints/constraints.go:27:9: syntax error: unexpected |, expecting semicolon or newline or }
go/src/github.com/jesseduffield/lazydocker/vendor/golang.org/x/exp/constraints/constraints.go:34:2: invalid character U+007E '~'
go/src/github.com/jesseduffield/lazydocker/vendor/golang.org/x/exp/constraints/constraints.go:34:11: syntax error: unexpected |, expecting semicolon or newline or }
go/src/github.com/jesseduffield/lazydocker/vendor/golang.org/x/exp/constraints/constraints.go:41:2: invalid character U+007E '~'
go/src/github.com/jesseduffield/lazydocker/vendor/golang.org/x/exp/constraints/constraints.go:41:13: syntax error: unexpected |, expecting semicolon or newline or }
go/src/github.com/jesseduffield/lazydocker/vendor/golang.org/x/exp/constraints/constraints.go:49:10: syntax error: unexpected |, expecting semicolon or newline or }
go/src/github.com/jesseduffield/lazydocker/vendor/golang.org/x/exp/constraints/constraints.go:49:10: too many errors
To Reproduce Steps to reproduce the behavior:
- Use golang version 1.13
- Run
go get github.com/jesseduffield/lazydocker - See error
Expected behaviour The installation shouldn't fail.
Screenshots Terminal output
~ 4s
❯ sudo apt install golang
Reading package lists... Done
Building dependency tree
Reading state information... Done
golang is already the newest version (2:1.13~1ubuntu2).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
~
❯ go get github.com/jesseduffield/lazydocker
# github.com/jesseduffield/lazydocker/vendor/golang.org/x/exp/constraints
go/src/github.com/jesseduffield/lazydocker/vendor/golang.org/x/exp/constraints/constraints.go:13:2: invalid character U+007E '~'
go/src/github.com/jesseduffield/lazydocker/vendor/golang.org/x/exp/constraints/constraints.go:13:7: syntax error: unexpected |, expecting semicolon or newline or }
go/src/github.com/jesseduffield/lazydocker/vendor/golang.org/x/exp/constraints/constraints.go:20:2: invalid character U+007E '~'
go/src/github.com/jesseduffield/lazydocker/vendor/golang.org/x/exp/constraints/constraints.go:20:8: syntax error: unexpected |, expecting semicolon or newline or }
go/src/github.com/jesseduffield/lazydocker/vendor/golang.org/x/exp/constraints/constraints.go:27:9: syntax error: unexpected |, expecting semicolon or newline or }
go/src/github.com/jesseduffield/lazydocker/vendor/golang.org/x/exp/constraints/constraints.go:34:2: invalid character U+007E '~'
go/src/github.com/jesseduffield/lazydocker/vendor/golang.org/x/exp/constraints/constraints.go:34:11: syntax error: unexpected |, expecting semicolon or newline or }
go/src/github.com/jesseduffield/lazydocker/vendor/golang.org/x/exp/constraints/constraints.go:41:2: invalid character U+007E '~'
go/src/github.com/jesseduffield/lazydocker/vendor/golang.org/x/exp/constraints/constraints.go:41:13: syntax error: unexpected |, expecting semicolon or newline or }
go/src/github.com/jesseduffield/lazydocker/vendor/golang.org/x/exp/constraints/constraints.go:49:10: syntax error: unexpected |, expecting semicolon or newline or }
go/src/github.com/jesseduffield/lazydocker/vendor/golang.org/x/exp/constraints/constraints.go:49:10: too many errors
Desktop (please complete the following information):
- OS: Linux Mint 20.3 (Una), based on Ubuntu 20.4 LTS
- Lazydocker Version: Latest? Whatever version I get when trying to install with Go.
Additional context Have installed lazydocker this way on 3-4 computers with the same os (and I assume same Go version) without this issue.
I love lazydocker.
@birgersp I suspect this is because your Go version doesn't have support for generics (introduced in go 1.18). The constraints package is specific to generics
That's probably it, then. I will try to pinpoint the error and update this issue