Go文件夹布局问题
我在运行Go测试时遇到问题。我跟着火车走 zshrc先生 示例应用程序文件=>/Users/chris/Projects/go/src/github.com/chris/roundrobin 梅因,加油 循环/时间表.go 循环赛/时间表(test.go) 尝试生成(仅当主文件存在时失败) 在我更改为github.com/username/文件夹布局之前,我一直能够进行构建Go文件夹布局问题,go,Go,我在运行Go测试时遇到问题。我跟着火车走 zshrc先生 示例应用程序文件=>/Users/chris/Projects/go/src/github.com/chris/roundrobin 梅因,加油 循环/时间表.go 循环赛/时间表(test.go) 尝试生成(仅当主文件存在时失败) 在我更改为github.com/username/文件夹布局之前,我一直能够进行构建 ➜ roundrobin go build can't load package: package github.co
➜ roundrobin go build
can't load package: package github.com/chris/roundrobin: found packages main (main.go) and roundrobin (schedule.go) in /Users/chris/Projects/go/src/github.com/chris/roundrobin
尝试运行测试
有什么想法吗?在根目录中有两个文件(
main.go
和schedule.go
)。它们都有不同的包名。一个有包主
,另一个有包时间表
。您需要将计划
移动到计划
子文件夹中,或将程序包计划
更改为程序包主计划
。转到。请记住,import
语句是物理文件夹路径。因此,如果要导入/roundrobin/schedule
。。项目根目录中需要有一个计划
文件夹。谢谢Simon!这就解决了包装问题。现在看起来很明显。您还需要将PATH=$PATH:$GOPATH
更改为PATH=$PATH:$GOPATH/bin
(尽管您没有使用它,但请记住,$GOPATH
可以包含多个条目,就像$PATH
)谢谢Jim。现在所有的编译和测试都通过了,但我会在稍后进行调整,看看会发生什么。
./main.go
./roundrobin.go
./roundrobin_test.go
package main
import "github.com/chris/schedule"
func main(teamCount int) {
http.HandleFunc('/', func(w http.ResponseWriter, r, *http.Request) {
gameSchedule := schedule.NewSchedule()
}
}
package roundrobin
// nothing imported here for now
...
package roundrobin
import (
"testing"
"github.com/chris/roundrobin/schedule"
)
...
➜ roundrobin go build
can't load package: package github.com/chris/roundrobin: found packages main (main.go) and roundrobin (schedule.go) in /Users/chris/Projects/go/src/github.com/chris/roundrobin
➜ roundrobin go test
# github.com/chris/roundrobin
schedule_test.go:6:2: cannot find package "github.com/chris/roundrobin/schedule" in any of:
/usr/local/go/src/pkg/github.com/chris/roundrobin/schedule (from $GOROOT)
/Users/chris/Projects/go/src/github.com/chris/roundrobin/schedule (from $GOPATH)
FAIL github.com/chris/roundrobin [setup failed]