idea编译go项目报错,提示:无法打开数据库文件:系统找不到指定的路径。

用idea中的go插件运行go语言项目,编译的时候连接数据库报错

此处是注册连接sqlite3数据库代码

func initDb() {
    _ = orm.RegisterDriver("sqlite", orm.DRSqlite)
    // cfg.WbConfig.DataPath=data    因为我把数据库放在项目的data/db文件夹下了
    dbPath := beego.AppConfig.DefaultString("default", cfg.WbConfig.DataPath+"/db/main.db")
    lg.Warn("dbPath: ", dbPath)
    _ = orm.RegisterDataBase("default", "sqlite3", dbPath)
    orm.Debug = false
}

运行报错提示:

//register db Ping`default`,无法打开数据库文件:系统找不到指定的路径。
//必须有一个名为“default”的注册数据库别名
register db Ping `default`, unable to open database file: The system cannot find the path specified.
must have one register DataBase alias named `default`

当我把连接路径改为绝对路径时可以编译通过,但是web访问项目时报渲染模板失败!

操作系统win10系统,go version是go1.17 windows/amd64
此外环境变量也都配置好了,idea设置里面 语言和框架>GO>GOROOT 也设置的是go1.17

用idea运行别的go项目可以正常编译并且运行成功,数据库是放在项目外GOPATH/data文件下的,但是这个项目在goland软件上可以正常编译运行,在idel中却不可以,提示“无法打开数据库文件:系统找不到指定的路径。”

  1. 尝试使用 filepath.Join() 来拼接路径试试,而不要手动加斜线;
  2. 如若 1 不适用,可以加点 debug 信息,查看下 你拼接出来的路径是否存在,其下有什么文件,或者真正的路径应该为何;加点 debug 日志应该就能看出问题了。