go build
和有什么区别go build file.go
?
我问是因为当我go build
在导入本地包的包上运行时,我会收到此错误消息。
can't load package: C:\go\src\bug\main.go:3:8: local import "./local_file" in non-local package
但是,当我指定文件名时,它可以工作。前任go build main.go
Windows XP 上的控制台历史记录。
C:\gopath\src\bug:>go version
go version go1.1 windows/386
C:\gopath\src\bug:>dir
...
<DIR> local_file
55 main.go
...
C:\gopath\src\bug:>type main.go
package main
import _ "./local_file"
func main() {
}
C:\gopath\src\bug:>type local_file\local_file.go
package local_file
import "fmt"
func init() {
fmt.Println("Called: local_file.init()")
}
C:\gopath\src\bug:>go run main.go
Called: local_file.init()
C:\gopath\src\bug:>go build main.go
C:\gopath\src\bug:>dir
...
<DIR> local_file
1,285,120 main.exe
55 main.go
...
C:\gopath\src\bug:>go build
can't load package: C:\gopath\src\bug\main.go:3:8: local import "./local_file" in non-local package