मैं Google ऐप इंजन (मानक) में एक छोटा परीक्षण ऐप तैनात करने की कोशिश कर रहा हूं। अगर मैं कोई विक्रेता पुस्तकालय शामिल करता हूं तो मुझे एक त्रुटि मिलती है।क्या Google App Engine के साथ गो विक्रेता पुस्तकालयों का उपयोग करना संभव है?
यह त्रुटि मैं जब कुछ संदर्भ के लिए
% gcloud app deploy
Services to deploy:
descriptor: [/Users/matt/work/appenginetest1/src/hello/default/app.yaml]
source: [/Users/matt/work/appenginetest1/src/hello/default]
target project: REDACTED
target service: [default]
target version: [20170709t220721]
target url: REDACTED
Do you want to continue (Y/n)? y
Beginning deployment of service [default]...
╔════════════════════════════════════════════════════════════╗
╠═ Uploading 0 files to Google Cloud Storage ═╣
╚════════════════════════════════════════════════════════════╝
File upload done.
Updating service [default]...failed.
ERROR: (gcloud.app.deploy) Error Response: [9] Deployment contains files that cannot be compiled: Compile failed:
go-app-builder: build timing: 2×compile (210ms total), 0×link (0s total)
go-app-builder: failed running compile: exit status 2
main.go:6: can't find import: "github.com/julienschmidt/httprouter"
तैनात करने की कोशिश कर रहा हो जाता है, यह $ GOPATH
% tree $GOPATH
/Users/matt/work/appenginetest1
└── src
└── hello
├── default
│ ├── app.yaml
│ └── main.go
├── glide.lock
├── glide.yaml
└── vendor
└── github.com
└── julienschmidt
└── httprouter
├── path.go
├── router.go
└── tree.go
के वृक्ष dev_appserver.py के माध्यम से स्थानीय सर्वर चल रहा है काम करता है ठीक है। यह एप्लिकेशन इंजन का मामला तरह नहीं दिखता है के रूप में भी बादल
% gcloud app deploy
ERROR: (gcloud.app.deploy) Staging command [/usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/platform/google_appengine/goroot-1.6/bin/go-app-stager /Users/matt/work/appenginetest1/src/hello/default/app.yaml /var/folders/nx/8w2_6q551cl50h3ff6lmy9s40000gn/T/tmp97Kiis/tmpe0MHQ0] failed with return code [1].
------------------------------------ STDOUT ------------------------------------
------------------------------------ STDERR ------------------------------------
2017/07/09 22:12:52 failed analyzing /Users/matt/work/appenginetest1/src/hello/default: cannot find package "github.com/julienschmidt/httprouter" in any of:
/Users/matt/work/appenginetest1/src/hello/vendor/github.com/julienschmidt/httprouter (vendor tree)
($GOROOT not set)
/Users/matt/work/appenginetest1/src/github.com/julienschmidt/httprouter (from $GOPATH)
GOPATH: /Users/matt/work/appenginetest1
--------------------------------------------------------------------------------
को आगे बढ़ाने से पहले
% rm -rf ~/work/appenginetest1/src/hello/vendor/github.com
यह त्रुटियों चलाने के बाद विक्रेता निर्देशिका नहीं लग रहा है, तो मैं से github.com निर्देशिका के लिए कदम स्रोत के लिए विक्रेता, तैनाती बिना किसी मुद्दे के काम करता है।
app.yaml
service: default
runtime: go
api_version: go1
handlers:
- url: /.*
script: _go_app
main.go
package hello
import (
"fmt"
"net/http"
"github.com/julienschmidt/httprouter"
)
func init() {
router := httprouter.New()
router.GET("/hello/:name", Hello)
http.Handle("/", router)
}
func Hello(w http.ResponseWriter, r *http.Request, ps httprouter.Params) {
fmt.Fprintf(w, "Hello, %s!", ps.ByName("name"))
}
अगर मैं विक्रेता से github.com निर्देशिका के लिए कदम ग्लाइड स्थापित चलाने के बाद src को तैनात करने के लिए मैं इस परियोजना मिल सकती है।
मैट, क्या आपको कभी इस समस्या का हल समाधान मिला है? –