我从 github 得到了一个 golang 项目,我已经初始化了 go mod 并修改了相对导入。但是执行go build main.go
时,报错如下:
build _/D_/myCode/jd_seckill-1/common: cannot find module for path _/D_/myCode/jd_seckill-1/common
这是我执行go mod init jdSeckill
后创建的go.mod
module jdSeckill
go 1.13
require (
github.com/Albert-Zhan/httpc v0.0.0-20210208112951-8d16c3e27c04
github.com/PuerkitoBio/goquery v1.6.1
github.com/tidwall/gjson v1.6.8
golang.org/x/text v0.3.5
)
这是我修改过的main.go
package main
import (
"jdSeckill/common" // ../common before modified
"jdSeckill/conf" // ../conf before modified
"jdSeckill/jd_seckill"
"errors"
"fmt"
"github.com/Albert-Zhan/httpc"
"github.com/tidwall/gjson"
"log"
"net/http"
"os"
"runtime"
"sync"
"time"
)
常用代码如下图:
答案 0 :(得分:0)
Go 的模块功能是为公共外部模块设计的。如果你想使用本地模块,你应该使用 go mod 的“replace”指令
看这里 - https://github.com/golang/go/wiki/Modules
以下是 go mod 替换的示例:
module github.com/user/service
replace github.com/user/depservice => /Users/user/Projects/depservice
require (
github.com/user/depservice v1.1.1
)