Golang中无效的导入路径:"github.com/go-sql-driver/mysql"该如何解决

Golang中无效的导入路径:"github.com/go-sql-driver/mysql"该如何解决 大家好,

在我的程序中,我包含了一行导入 github.com/go-sql-driver/mysql

然而,在运行 go build 时,我收到了这个错误:invalid import path: "github.com/go­-sql­-driver/mysql"

import (
	"fmt"
	"os"
	"database/sql"
	"database/sql/driver"
	_ "github.com/go­-sql-­driver/mysql"
)

我的环境:

set GOARCH=amd64
set GOBIN=
set GOCACHE=C:\Users\pt23\AppData\Local\go-build
set GOEXE=.exe
set GOFLAGS=
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOOS=windows
set GOPATH=C:\Projects\Go
set GOPROXY=
set GORACE=
set GOROOT=C:\Go
set GOTMPDIR=
set GOTOOLDIR=C:\Go\pkg\tool\windows_amd64
set GCCGO=gccgo
set CC=gcc
set CXX=g++
set CGO_ENABLED=1
set GOMOD=
set CGO_CFLAGS=-g -O2
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-g -O2
set CGO_FFLAGS=-g -O2
set CGO_LDFLAGS=-g -O2
set PKG_CONFIG=pkg-config
set GOGCCFLAGS=-m64 -mthreads -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=C:\Users\ptiernan\AppData\Local\Temp\go-build581625102=/tmp/go-build -gno-record-gcc-switches

在此之前我执行了 go get -u github.com/go-sql-driver/mysql。 任何帮助都将不胜感激。


更多关于Golang中无效的导入路径:"github.com/go-sql-driver/mysql"该如何解决的实战教程也可以访问 https://www.itying.com/category-94-b0.html

3 回复

感谢您的回复。 那确实是问题所在。

感谢您的帮助!

更多关于Golang中无效的导入路径:"github.com/go-sql-driver/mysql"该如何解决的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html


你好Patrick,

出现这个错误信息是因为你在go-sql-driver中使用了错误的连字符(破折号)。你需要确保使用ASCII文本或码点小于128的Unicode字符。

尝试这样写:

import (
        "fmt"
        "os"
        "database/sql"
        "database/sql/driver"
        _ "github.com/go-sql-driver/mysql"
)

这个错误通常是由于导入路径中的字符问题导致的。从你的代码片段来看,导入路径中包含了不可见的特殊字符(可能是软连字符或零宽度空格)。

在你的代码中:

_ "github.com/go­-sql-­driver/mysql"

实际应该是:

_ "github.com/go-sql-driver/mysql"

解决方案:

  1. 手动修正导入路径
import (
	"fmt"
	"os"
	"database/sql"
	"database/sql/driver"
	_ "github.com/go-sql-driver/mysql"
)
  1. 如果问题仍然存在,重新获取依赖
go mod tidy

或者

go get github.com/go-sql-driver/mysql@latest
  1. 检查 go.mod 文件: 确保你的 go.mod 文件中包含正确的依赖:
module your-project-name

go 1.21

require (
    github.com/go-sql-driver/mysql v1.7.1
)
  1. 完整的工作示例
package main

import (
	"database/sql"
	"fmt"
	"log"
	_ "github.com/go-sql-driver/mysql"
)

func main() {
	db, err := sql.Open("mysql", "user:password@tcp(127.0.0.1:3306)/dbname")
	if err != nil {
		log.Fatal(err)
	}
	defer db.Close()

	err = db.Ping()
	if err != nil {
		log.Fatal(err)
	}
	
	fmt.Println("成功连接到MySQL数据库")
}

确保你的导入路径中没有任何特殊字符,重新运行 go build 应该能解决这个问题。

回到顶部