if *_*one 9 google-app-engine go
我已按照本指南安装AppEngine SDK. https://developers.google.com/appengine/docs/go/gettingstarted/introduction
我最初使用Brew安装了Go 1.2(在OSX上).我设定了自己的路径:
export GOPATH=$HOME/Documents/go
export PATH=$GOPATH/bin:$PATH
export PATH=$HOME/Documents/go/go_appengine:$PATH
Run Code Online (Sandbox Code Playgroud)
我复制/粘贴了你好世界的应用程序,然后运行它goapp serve.都好.
现在,一旦我尝试使用appengine:
import (
"appengine"
)
Run Code Online (Sandbox Code Playgroud)
我得到编译时错误:
api.go:5:5: cannot find package "appengine" in any of:
/usr/local/Cellar/go/1.2/libexec/src/pkg/appengine (from $GOROOT)
/Users/jan/Documents/go/src/appengine (from $GOPATH)
Run Code Online (Sandbox Code Playgroud)
起始指南文档没有说明这一点.似乎SDK有自己的$GOPATHdir with /src,/pkg和/bin.我假设我必须一直手动切换$GOPATHSDK和本机Go之间,这没有任何意义,甚至不适合我(因为我主要处理非appengine的东西).
我在这里显然做错了.我错过了什么?
编辑:看起来实际的appengine服务器正在编译并运行正常,但是我的整个设置都被破坏了(测试,Vim ......).有没有解决方法?
小智 7
由alpe1提供,以下几行解决了vim编译器的问题:
ln -s $APPENGINE_SDK/goroot/src/pkg/appengine $GOROOT/src/pkg/
ln -s $APPENGINE_SDK/goroot/src/pkg/appengine_internal $GOROOT/src/pkg/
mkdir -p $GOROOT/src/pkg/code.google.com/p/
ln -s $APPENGINE_SDK/goroot/src/pkg/code.google.com/p/goprotobuf
$GOROOT/src/pkg/code.google.com/p/
Run Code Online (Sandbox Code Playgroud)
我需要更新gocode lib-path(cf Options)以获得appengine 的自动完成功能:
gocode set lib-path "$APPENGINE_SDK/goroot/pkg/linux_amd64_appengine"
Run Code Online (Sandbox Code Playgroud)