我已经找到了尽可能多的文档和StackOverflow文章,但是使用Go 1.6中的新供应商功能无法导入。
这是我与Goji一起测试的示例项目。目录结构如下:
. └── src ├── main.go └── vendor └── github.com └── zenazn └── goji ├── LICENSE ├── README.md ├── bind ├── default.go ├── example ├── goji.go ├── graceful ├── serve.go ├── serve_appengine.go └── web
并且main.go,项目中的唯一文件是这样的:
main.go
package main import ( "fmt" "net/http" "github.com/zenazn/goji" "github.com/zenazn/goji/web" ) func hello(c web.C, w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "Hello, %s!", c.URLParams["name"]) } func main() { goji.Get("/hello/:name", hello) goji.Serve() }
我的环境变量如下:
export GOPATH=~/.go export GOBIN=$GOPATH/bin export PATH=$PATH:/usr/local/opt/go/libexec/bin:$GOBIN
我尝试了最简单的构建命令,但是没有运气:
go run ./src/main.go go build ./src/main.go
我也尝试用:
$GOPATH=`pwd`
…无济于事。我完全想念什么吗?任何建议表示赞赏。
我建议您阅读https://golang.org/doc/code.html。它需要一两天的时间来消化,但是在您了解go工具如何与源代码和GOPATH一起使用之后,使用它们确实非常容易。
回到您的问题。要构建一个简单的go程序,您需要:
mkdir $GOPATH/src/myprogram
$GOPATH/src/myprogram/main.go
$GOPATH/src/myprogram/vendor
go install myprogram
myprogram
$GOPATH/bin/myprogram