>  기사  >  백엔드 개발  >  Golang은 "sqlc 생성"을 수행할 수 없습니다.

Golang은 "sqlc 생성"을 수행할 수 없습니다.

王林
王林앞으로
2024-02-09 11:09:181089검색

Golang 无法“sqlc 生成”

php 편집기 Banana는 Golang에 대한 중요한 문제, 즉 sqlc를 사용하여 코드를 생성할 수 없는 문제를 가져옵니다. Golang은 효율적이고 안정적인 백엔드 애플리케이션을 개발하는 데 자주 사용되는 강력한 프로그래밍 언어입니다. 그러나 일부 개발자는 sqlc를 사용하는 데 문제가 발생하여 필요한 코드를 생성할 수 없습니다. 이 문제는 개발자에게 혼란을 야기하므로 이 문서에서는 가능한 원인을 살펴보고 이러한 혼란을 해결하는 데 도움이 되는 솔루션을 제공합니다. 한 번 보자!

질문 내용

Windows와 Ubuntu WSL을 사용하고 있는데 sqlc를 생성하려고 하면 이런 오류가 발생합니다.

으아악 으아악

go env 명령을 시도했지만 내 환경에 있지만 여전히 sqlc를 생성할 수 없습니다

sqlc generate
# package database
sql/schema/001_users.sql:1:1: the PostgreSQL engine requires cgo. Please set CGO_ENABLED=1.

해결 방법

WSL2 Ubuntu 22.04(Win 11에서 실행)를 새로 설치하여 이를 복제할 수 있었습니다. 새 이미지를 사용하여 Go(1.21.4) 및 sqlc (v1.23.0),然后运行 ​​sqlcgenerate(질문에 언급된 튜토리얼의 예제 저장소 사용)를 설치했는데 오류가 발생했습니다.

으아악

흥미롭게도 Ubuntu 20.04(WSL2에서도 마찬가지)에서는 모든 것이 잘 작동합니다.

Ubuntu 20.04 및 CGO 지원 바이너리 sqlc 并启用 CGO 22.04에 호환성 문제가 있습니다(이 문제를 자세히 조사하지 않았습니다!). 그래서 다시 설치해 볼 가치가 있는 것 같습니다

:

으아악 sqlc 起作用了(成功为 6-createfeed 示例生成了 go이 작업을 수행한 후에는

파일, 문제 없음).

참고: 이 방법이 효과가 있으므로 유사한 a>sqlc 질문에 대한 설명을 추가하고 동일한 기본 솔루션을 제안하는 이 설명

을 발견하게 될 것이라고 생각했습니다(어젯밤에 검색할 때 이 내용을 파악하지 못했습니다). 🎜

위 내용은 Golang은 "sqlc 생성"을 수행할 수 없습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 stackoverflow.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제