I am trying to upgrade my project’s golang version from
1.18.1. I changed the version in
go.mod and executed
go mod tidy command.
Weird thing, I got following error in my main file which has a
main function inside itself:
'main' collides with name declared in this package
It happens for
Found several packages [http, main] in '/usr/local/go-1.18.1/src/net/http;/usr/local/go-1.18.1/src/net/http'
Found several packages [syscall, main] in '/usr/local/go-1.18.1/src/syscall;/usr/local/go-1.18.1/src/syscall'
As I checked the warning was correct and there were main packages in both libraries.
Should I use an alternative library or should I change the way I import them?
This is an IDE error and I use Goland.
This was reported recently (Apr. 2022) (link in Chinese)
The translation of the relevant comment is:
The reason for the above error: Your Go language version has been upgraded, and the IDE version is too old to support it.
For example, in my case, Go was upgraded to 1.18, and Goland was not upgraded.
So make sure your IDE (GoLand or VSCode) is fully updated (with, for VSCode, the latest
Answered By – VonC
Answer Checked By – Clifford M. (GoLangFix Volunteer)