You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Golang调用Antlr生成的parser时提示无法找到对应模块路径如何解决

报错原因

你遇到的build command-line-arguments: cannot find module for path path/to/parser报错,本质是Go Module模式下不支持./parser这类相对路径导入写法,Go模块要求所有导入路径都基于项目声明的模块名作为根路径。

解决步骤
  • 初始化项目模块(未初始化的情况下操作)
    在项目根目录执行命令:
    go mod init 自定义模块名(示例:antlr-test)
  • 校验antlr生成文件的包声明
    打开parser目录下所有生成的Go文件,确认头部包声明为package parser,如果不一致可以重新生成antlr代码,生成时添加-package parser参数统一指定包名。
  • 修改main.go的导入路径
    把导入部分的"./parser"替换为「你刚才声明的模块名/parser」,示例:
import (
    "fmt"

    "antlr-test/parser"
    "github.com/antlr/antlr4/runtime/Go/antlr"
)
  • 拉取依赖并运行
    执行以下命令完成依赖安装和项目运行:
    go mod tidy
    go run main.go
目录结构校验

确保你的项目目录结构和下方一致:

项目根目录
├── go.mod
├── go.sum
├── main.go
└── parser/
├── xxx_lexer.go
├── xxx_parser.go
└── 其余antlr生成的代码文件

内容的提问来源于stack exchange,提问作者Aleksandr Podyachev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 08:54:05