执行sqlc generate报错:无法找到db/queries目录求助
解决sqlc generate报错"stat /db/queries: no such file or directory"的问题
检查sqlc配置文件的路径匹配规则
不管用v1还是v2配置,必须确保queries字段指向的是具体SQL文件(或用通配符匹配目录下的文件),而不是目录本身。sqlc会将直接写的目录路径视为文件,自然找不到。- v1配置示例:
version: "1" packages: - name: "sqlc" path: "./db/sqlc" queries: "./db/queries/*.sql" schema: "./db/migrations/*.sql" - v2配置示例:
version: "2" sql: - engine: "postgresql" # 根据你的数据库引擎调整(比如mysql) schema: "./db/migrations/*.sql" queries: "./db/queries/*.sql" gen: go: package: "sqlc" out: "./db/sqlc"
- v1配置示例:
确认执行命令的工作目录
必须在sqlc.yaml所在的项目根目录下执行sqlc generate。如果在子目录运行,路径会相对当前目录解析,导致找不到目标目录。可以用pwd命令确认当前位置,切换到根目录后重试。验证目录权限与存在性
用ls -l db/queries确认目录存在且包含account.sql,同时当前用户对该目录有读取权限。避免路径包含特殊字符或空格,这类字符可能导致sqlc路径解析失败。清理sqlc缓存
如果项目根目录下存在.sqlc缓存目录,删除它后重新执行sqlc generate,残留缓存可能导致解析异常。
内容的提问来源于stack exchange,提问作者Jasvinder singh
相关产品推荐
相关产品推荐

