2021/08/25 北京 多云

$> go build .
test.go: 4:5 cannot find package "github.com/username/projectname/abcdefg" in any of:
/usr/local/go/src/github.com/username/projectname/abcdefg (from $GOROOT)
/Users/macbook/workplace/go/src/github.com/username/projectname/abcdefg (from $GOPATH)

说不能找到这个包,GOROOT和GOPATH下都没有,其实GOPATH下是有的,不知道怎么解决,经过几番baidu,亲试了方法1,可行

方法1、

在.mod文件结尾添加 replace,算是一种映射吧

replace <remotePackage> <localPackage>

例如:

module github.com/user/object
go 1.16
require (
...
gopkg.in/yaml.v2 v2.4.0
...
)
replace "github.com/username/projectname/abcdefg" => "/Users/macbook/workplace/go/src/github/username/projectname/abcdefg"  

使用时依旧按原方式使用

package main
import {
  "fmt"
  "github.com/username/projectname/abcdefg"
}

方法2、

就是放到GOROOT下面,未测。

方法3、

通过IDE让它来帮你import,未测。