Skip to content

Potential import collision: import path should be "go.mongodb.org/mongo-driver", not "github.com/mongodb/mongo-go-driver" #4

@KateGo520

Description

@KateGo520

Background

I find that go.mongodb.org/mongo-driver and github.com/mongodb/mongo-go-driver coexist in this repo:
https://github.com/longfellowone/field-services/blob/master/go.mod (Line 22 & 32)

github.com/mongodb/mongo-go-driver v1.0.1
go.mongodb.org/mongo-driver v1.0.1 // indirect

That’s because the mongodb/mongo-go-driver has already renamed it’s import path from "github.com/mongodb/mongo-go-driver" to "go.mongodb.org/mongo-driver". When you use the old path "github.com/mongodb/mongo-go-driver" to import the mongodb/mongo-go-driver, will reintroduces mongodb/mongo-go-driver through the import statements "import go.mongodb.org/mongo-driver" in the go source file of mongodb/mongo-go-driver.

https://github.com/mongodb/mongo-go-driver/blob/v1.0.1/mongo/client.go#L16

package mongo
import (
	"go.mongodb.org/mongo-driver/bson"
	"go.mongodb.org/mongo-driver/bson/bsoncodec"
	…
)

The "go.mongodb.org/mongo-driver" and "github.com/mongodb/mongo-go-driver" are the same repos. This will work in isolation, bring about potential risks and problems.

Solution

Follow the requirements of mongodb/mongo-go-driver README.md:

To get started with the driver, import the mongo package, create a mongo.Client:

import (
    "go.mongodb.org/mongo-driver/mongo"
    "go.mongodb.org/mongo-driver/mongo/options"
)
…

Replace all the old import paths, change "github.com/mongodb/mongo-go-driver" to "go.mongodb.org/mongo-driver".
Where did you import it: https://github.com/longfellowone/field-services/search?q=github.com%2Fmongodb%2Fmongo-go-driver&unscoped_q=github.com%2Fmongodb%2Fmongo-go-driver

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions