无法在全新的 Go 项目中加载包

Can't load package in brand new Go project

我正在尝试 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
)

github.com/x80486/gauge-basics 下没有 .go 文件,因为您将它们移到了不同​​的目录下。您可以 运行 在包含源文件的目录下构建,或者在导入它们的 gauge-basics 目录中添加另一个 .go。