Module declared as X but was required as Y
Asked Answered
I

1

7

I'm trying to use grafana/grafana/pkg/tsdb package in my module. I don't think this problem is specific to grafana but here it goes:

$ go get -u github.com/grafana/grafana/pkg/tsdb
go: finding github.com/inconshreveable/log15 latest
go: finding github.com/go-macaron/session latest
go: finding golang.org/x/oauth2 latest
go: finding github.com/teris-io/shortid latest
go: github.com/grafana/grafana/pkg/tsdb imports
        github.com/go-xorm/core: github.com/go-xorm/[email protected]: parsing go.mod:
        module declares its path as: xorm.io/core
                but was required as: github.com/go-xorm/core

It says that the package tsdb is importing xorm as github.com/go-xorm/core, but the module declares itself as xorm.io/core.

Looking at Grafana's go.mod file, it's using github.com/go-xorm/core and going to github.com/go-xorm/core, it says the project is now archived... and it's go.mod file indeed declared itself as xorm.io/core...

and suggestions on how I can resolve this issue?

Ilario answered 21/2, 2020 at 15:17 Comment(0)
H
3

edit: I also had luck just using a slightly older version:

go get github.com/grafana/grafana/pkg/[email protected]

I tried a replace, which can work sometimes:

module foo

replace github.com/go-xorm/core => xorm.io/core v0.6.2

go 1.13

require (
...

but I get a type error.

Luckily it looks like there is a PR out to fix this issue: https://github.com/grafana/grafana/pull/22376

Hanson answered 21/2, 2020 at 16:53 Comment(2)
Thanks for the reply. It wasn't a problem for grafana b/c grafana vendor'ed in xorm/core library, and the version it vendored has the package name github.com/go-xorm/core. Looks like xorm migrated their repos to gitea...Ilario
Your workaround (installing 6.6.1) does work BTW. Thanks. I've accepted the answer.Ilario

© 2022 - 2024 — McMap. All rights reserved.