티스토리 뷰

반응형

go 빌드 에러가 발생했다.

$ go run main.go
# golang.org/x/sys/unix
vendor/golang.org/x/sys/unix/syscall_darwin.1_13.go:29:3: //go:linkname must refer to declared function or variable
vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.1_13.go:27:3: //go:linkname must refer to declared function or variable
vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.1_13.go:40:3: //go:linkname must refer to declared function or variable
vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go:28:3: //go:linkname must refer to declared function or variable
vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go:43:3: //go:linkname must refer to declared function or variable
vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go:59:3: //go:linkname must refer to declared function or variable
vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go:75:3: //go:linkname must refer to declared function or variable
vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go:90:3: //go:linkname must refer to declared function or variable
vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go:105:3: //go:linkname must refer to declared function or variable
vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go:121:3: //go:linkname must refer to declared function or variable
vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go:121:3: too many errors

 

오래된 버전의 패키지나 종속성을 사용하고 있어서 발생하는 흔한 에러다

 

위 에러는 golang.org/x/sys/unix 라는 종속성을 받아올때 해당 패키지를 go의 경로에서 찾아오지 못해서 발생하는 에러다

 

패키지를 다시 설치 및 업데이트 해주면 에러가 발생하지 않는다


해결법

아래 get 명령어로 패키지를 업데이트 해주자

go get -u golang.org/x/sys/unix

 

본인은 golang.org/x/sys/unix의 종속성을 업그레이드 해야한다고 해서 위와 같이 적었지만

여러분들은 다른 종속성 및 패키지를 못받아오는 경우일 수 있다 

 

go get [-t][-u][-v][-d] [build flages][packages]
-t  : 패키지 테스트를 빌드하는데 필요한 추가 패키지를 포함하여 다운로드
-u : 패키지 및 종속성 업데이트
-v : 실행 및 디버그 출력
-d : 설치는 하지않고 소스 파일만 다운로드

 

 

위와 같은 형태로 입력해서 에러를 해결하길 바란다

go get 의 자세한 설명은 [go help get] 명령어를 입력해서 확인하길 바란다

반응형
댓글
공지사항