반응형

./room.go:39:6: main redeclared in this block

* Mac

* vscode

* Golang 1.20

 

상황

go build 하는 도중 에러가 발생했습니다.

 

해결

하나의 폴더 아래 main이라는 함수를 2개를 사용해서 발생한 에러입니다.

main 함수를 하나만 가지도록 이름을 수정한 후 go build를 다시 하니 정상 작동 했습니다.

반응형
반응형

current directory is contained in a module that is not one of the workspace modules listed in go.work. You can add the module to the workspace using:

* Mac

* vscode

* Golang 1.20

 

상황

go mod init 한 후 go build 했을 때 발생했습니다.

 

해결

go build 하기 전에 gopls 설정을 했기 때문에 거기서 발생한 문제 일수 있어 들어가 봤더니 필요 없는 구문이 적혀있어 제거 후 VSCode를 재실행 했습니다.

재실행 후 잘 작동합니다.

 

반응형
반응형

gopls was not able to find modules in your workspace.When outside of GOPATH, gopls needs to know which modules you are working on ~

* Mac

* vscode

* Golang 1.20

 

상황

vscode에서 go run main.go를 실행하는데 발생한 에러입니다.

 

해결

1. vscode 설정 수정

*이 방법은 인터넷에서 가장 많이 찾은 방법이지만 현재 2023.07.26 기준으로 (제가 했을 때)안됩니다.*

먼저 settings에 들어가서 gopls을 검색 후 settings.json에 들어갑니다.

들어간 후 “gopls” : { “"build.expandWorkspaceToModule": true,”} 입력해주면 됩니다.

 

* 저는 Invalid settings: gopls setting "experimentalWorkspaceModule" is deprecated 발생하여 작동하지 않습니다. 뜨면서 해결되지 않았습니다.

 

2. Golang이 directory를 인식하지 못하는걸 인식할 수 있도록 수정

최상의 directory(root 폴더)에 go.work를 생성해준 후 go work use <폴더 위치>를 통해 go.work에 폴더 위치를 추가해줍니다.

 

 

저는 2번으로만으로 해결되었습니다.

반응형

+ Recent posts