我正在尝试Go中的模块。我不在GOPATH
之外,并且使用的是1.12.6
版:
GOBIN="/home/x80486/Workshop/go/bin/"
GOPATH="/home/x80486/Workshop/go/"
GOROOT="/home/x80486/.asdf/installs/golang/1.12.6/go/"
我创建了一个新项目,并将其初始化为/home/x80486/Workshop/Development/gauge-basics
中的模块。然后,我创建了一个包含以下内容的文件example_spec.go
:
package stepImpl
import (
"github.com/getgauge-contrib/gauge-go/gauge"
)
var _ = gauge.Step("Run me before any other", func() {})
...然后我运行了go test
:
[x80486@uplink gauge-basics]$ go test
go: finding github.com/getgauge-contrib/gauge-go/gauge latest
go: finding github.com/getgauge/common latest
go: finding github.com/golang/protobuf/proto latest
go: finding github.com/dmotylev/goproperties latest
? github.com/x80486/gauge-basics [no test files]
一切正常,但是,一旦我将此文件移到名为stepImpl
的文件夹中,便无济于事:
[x80486@uplink gauge-basics]$ go build
can't load package: package github.com/x80486/gauge-basics: unknown import path "github.com/x80486/gauge-basics": cannot find module providing package github.com/x80486/gauge-basics
我不明白为什么将文件移动到具有程序包名称的文件夹会破坏项目。
这是生成的go.mod
文件:
module github.com/x80486/gauge-basics
go 1.12
require (
github.com/dmotylev/goproperties v0.0.0-20140630191356-7cbffbaada47 // indirect
github.com/getgauge-contrib/gauge-go v0.1.3 // indirect
github.com/getgauge/common v0.0.0-20190514095629-619e107433ce // indirect
github.com/golang/protobuf v1.3.2 // indirect
)
答案 0 :(得分:2)
在github.com/x80486/gauge-basics下没有.go文件,因为您将它们移到了另一个目录。您可以在包含源文件的目录下运行go build,也可以在gauge-basics目录中添加另一个.go来导入它们。