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