这是我的主文件(server.go):
package main
import (
"net/http"
"routes"
)
func main() {
http.HandleFunc("/", routes.Handler)
http.ListenAndServe(":8000", nil)
}
我的路由模块在同一目录中:
package routes
func Handler(w http.ResponseWriter, r *http.Request) {
// stuff...
}
当我运行时,go run server.go我收到此错误:
server.go:6:5: cannot find package "routes" in any of:
/usr/local/Cellar/go/1.6/libexec/src/routes (from $GOROOT)
~/server/src/routes (from $GOPATH)
当我将代码routes.go放入我的server.go文件时,它运行良好。我无法导入模块。我试过将$GOPATH变量设置为我的当前目录,我试过重新排列我的项目目录以模仿这里的目录。我的选择不多了。奇怪的是,一种被如此广泛采用的语言,关于如何做几乎所有其他语言都相对容易的事情的文档如此糟糕。请帮我弄清楚我做错了什么。
更新:
这是输出 go env
GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/me/server"
GORACE=""
GOROOT="/usr/local/Cellar/go/1.6/libexec"
GOTOOLDIR="/usr/local/Cellar/go/1.6/libexec/pkg/tool/darwin_amd64"
GO15VENDOREXPERIMENT="1"
CC="clang"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fno-common"
CXX="clang++"
CGO_ENABLED="1"
慕神8447489
largeQ
相关分类