英文:
Google App Engine Golang Imports not working
问题
我正在尝试使用Golang的数据存储客户端库,但它无法工作。我通过go -t命令下载了它,也通过下载GitHub文件手动安装了它。下载完成后,我将库文件复制到了我的google-cloud-sdk文件夹中。但是,当我尝试启动dev_appserver.py时,出现了很多缺少的包。我是否需要手动导入它们,还是存在错误?
英文:
I am trying to use the datastore client library for golang, but it won't work. I downloaded it via the go -t command and also manually by downloading the github files. After the download I have copied the libraries into my google-cloud-sdk folder. But now when I try to start the dev_appserver.py there are so many missing packages. Do I have to import them all manually or is there an error?
答案1
得分: 2
你需要设置go环境。看起来你还没有设置go环境。
例如:
11:35 $ go env
...
GOPATH="/Users/.../Goarea"
...
GOROOT="/usr/local/go"
在你的GOPATH中,你会有bin/pkg/src目录。所以当你执行
go get -u cloud.google.com/go/datastore
它会被拉到.../src/cloud.google.com/go/datastore
然后你可以导入pkg并在你的代码中使用它。
package main
import (
"encoding/json"
"log"
"net/http"
"google.golang.org/api/iterator"
"google.golang.org/api/option"
// 导入Google Cloud Datastore客户端包。
"cloud.google.com/go/datastore"
"golang.org/x/net/context"
)
...
func main() {
ctx := context.Background()
projectID := "your id"
client, err := datastore.NewClient(ctx,
projectID, option.WithServiceAccountFile("YOUR CREDENTIAL.json"))
if err != nil {
log.Fatalf("Failed to create client: %v", err)
}
...
...
英文:
You will need to setup go env. It seems you do not have go env setup.
For example:
11:35 $ go env
...
GOPATH="/Users/.../Goarea"
...
GOROOT="/usr/local/go"
Inside you GOPATH you would have bin/pkg/src. So when you do
go get -u cloud.google.com/go/datastore
It will be pulled to .../src/cloud.google.com/go/datastore
then you can import pkg and use it in your code.
package main
import (
"encoding/json"
"log"
"net/http"
"google.golang.org/api/iterator"
"google.golang.org/api/option"
// Imports the Google Cloud Datastore client package.
"cloud.google.com/go/datastore"
"golang.org/x/net/context"
)
...
func main() {
ctx := context.Background()
projectID := "your id"
client, err := datastore.NewClient(ctx,
projectID, option.WithServiceAccountFile("YOUR CREDENTIAL.json"))
if err != nil {
log.Fatalf("Failed to create client: %v", err)
}
...
...
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论