英文:
Failed to build Go application: ... : can't find import: "code.google.com/p/go.net/html
问题
我刚刚尝试在Google App Engine上启动一个应用程序(https://github.com/mjibson/goread)。
我按照所有步骤进行操作,但当我到达应该使用dev_appserver.py app.yaml
启动它的步骤时,我遇到了以下错误:
$ dev_appserver.py app.yaml
INFO 2013-11-27 17:14:13,250 sdk_update_checker.py:245] Checking for updates to the SDK.
INFO 2013-11-27 17:14:13,446 sdk_update_checker.py:273] The SDK is up to date.
WARNING 2013-11-27 17:14:13,455 api_server.py:331] Could not initialize images API; you are likely missing the Python "PIL" module.
INFO 2013-11-27 17:14:13,460 api_server.py:138] Starting API server at: http://localhost:42131
INFO 2013-11-27 17:14:13,532 dispatcher.py:171] Starting module "default" running at: http://localhost:8080
INFO 2013-11-27 17:14:13,535 admin_server.py:117] Starting admin server at: http://localhost:8000
ERROR 2013-11-27 17:14:16,293 go_runtime.py:166] Failed to build Go application:
2013/11/27 17:14:16 go-app-builder: build timing: 10×6g (2.35416362s total), 18×gopack (104.629743ms total), 0×6l (0 total)
2013/11/27 17:14:16 go-app-builder: failed running 6g: signal: killed
(Executed command: /home/ubuntu/bin/go_appengine/goroot/bin/go-app-builder -app_base /home/ubuntu/mygo/src/github.com/mjibson/goread -arch 6 -binary_name _go_app -dynamic -extra_import$
appengine_internal/init -goroot /home/ubuntu/bin/go_appengine/goroot -nobuild_files ^^$ -unsafe -work_dir /tmp/tmpJex0GQappengine-go-bin -gcflags -I,/home/ubuntu/bin/go_appengine/goroo
t/pkg/linux_amd64_appengine -ldflags -L,/home/ubuntu/bin/go_appengine/goroot/pkg/linux_amd64_appengine -gopath /home/ubuntu/mygo sanitizer/sanitize.go rdf/rdf.go rss/rss.go types.go fun
cs.go utils.go settings.go atom/atom.go sanitizer/strip.go main.go admin.go charge.go user.go autodiscover.go sanitizer/snip.go tasks.go)
^CINFO 2013-11-27 17:14:18,348 shutdown.py:44] Shutting down.
INFO 2013-11-27 17:14:18,375 api_server.py:524] Applying all pending transactions and saving the datastore
INFO 2013-11-27 17:14:18,375 api_server.py:527] Saving search indexes
使用sudo时,错误部分发生了变化:
> ERROR 2013-11-27 15:04:50,576 go_runtime.py:166] Failed to build Go
> application:
> /home/ubuntu/mygo/src/github.com/mjibson/goread/sanitizer/sanitize.go:21:
> can't find import: "code.google.com/p/go.net/html"
引起问题的代码行:
package sanitizer
17 package sanitizer
18
19 import (
20 "bytes"
21 "code.google.com/p/go.net/html"
22 "io"
23 "net/url"
24 "strings"
25 )
这是我的Go环境:
$ goapp env
GOARCH="amd64"
GOBIN=""
GOCHAR="6"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/ubuntu/mygo"
GORACE=""
GOROOT="/home/ubuntu/bin/go_appengine/goroot"
GOTOOLDIR="/home/ubuntu/bin/go_appengine/goroot/pkg/tool/linux_amd64"
CC="gcc"
GOGCCFLAGS="-g -O2 -fPIC -m64 -pthread"
CGO_ENABLED="1"
$ ll ~/bin/
Nov 27 14:34 appcfg.py -> go_appengine/appcfg.py*
Nov 27 14:34 dev_appserver.py -> go_appengine/dev_appserver.py*
Nov 18 01:36 go_appengine/
Nov 27 14:35 goapp -> go_appengine/goapp*
/home/ubuntu/mygo/pkg/
└── linux_amd64_appengine
└── code.google.com
└── p
└── go.net
├── html
│   └── atom.a
└── html.a
/home/ubuntu/mygo/src/
├── code.google.com
│   └── p
│   ├── go-charset
│   │   ├── charset
│   │   ├── cmd
│   │   ├── data
│   │   ├── datafiles
│   │   └── lib
│   └── go.net
│   ├── dict
│   ├── html
│   ├── idna
│   ├── ipv4
│   ├── ipv6
│   ├── netutil
│   ├── proxy
│   ├── publicsuffix
│   ├── spdy
│   └── websocket
└── github.com
├── gorilla
│   ├── context
│   └── mux
├── MiniProfiler
│   └── go
│   ├── example
│   ├── miniprofiler
│   ├── miniprofiler_gae
│   ├── miniprofiler_revel
│   ├── redis
│   ├── sql
│   └── ui
└── mjibson
├── appstats
│   └── static
├── goon
└── goread
├── atom
├── rdf
├── rss
├── sanitizer
├── static
└── templates
App Engine版本:linux_amd64-1.8.8
编辑
现在我遇到了以下错误:
ERROR 2013-11-28 02:11:38,201 go_runtime.py:166] Failed to build Go application: /home/ubuntu/mygo/src/github.com/MiniProfiler/go/miniprofiler/static.go:19263: out of memory
尽管在运行此命令时,我的机器上有大约480M的可用RAM。
编辑
我已经测试过,似乎我要运行它的机器上的RAM不足(免费的Amazon实例),因为在我的本地机器上它运行得很顺利,以下是htop
的摘要:
VIRT RES SHR S CPU% MEM% TIME+ Command
1492M 88588 5804 S 0.0 1.5 0:14.72 python /home/XXXX/bin/dev_appserver.py app.yaml
英文:
I have just attempted to launch an application (https://github.com/mjibson/goread) on google app engine.
I have followed all the steps but when I get to the point where I should launch it with dev_appserver.py app.yaml
I am getting the following error :
$ dev_appserver.py app.yaml
INFO 2013-11-27 17:14:13,250 sdk_update_checker.py:245] Checking for updates to the SDK.
INFO 2013-11-27 17:14:13,446 sdk_update_checker.py:273] The SDK is up to date.
WARNING 2013-11-27 17:14:13,455 api_server.py:331] Could not initialize images API; you are likely missing the Python "PIL" module.
INFO 2013-11-27 17:14:13,460 api_server.py:138] Starting API server at: http://localhost:42131
INFO 2013-11-27 17:14:13,532 dispatcher.py:171] Starting module "default" running at: http://localhost:8080
INFO 2013-11-27 17:14:13,535 admin_server.py:117] Starting admin server at: http://localhost:8000
ERROR 2013-11-27 17:14:16,293 go_runtime.py:166] Failed to build Go application:
2013/11/27 17:14:16 go-app-builder: build timing: 10×6g (2.35416362s total), 18×gopack (104.629743ms total), 0×6l (0 total)
2013/11/27 17:14:16 go-app-builder: failed running 6g: signal: killed
(Executed command: /home/ubuntu/bin/go_appengine/goroot/bin/go-app-builder -app_base /home/ubuntu/mygo/src/github.com/mjibson/goread -arch 6 -binary_name _go_app -dynamic -extra_import$
appengine_internal/init -goroot /home/ubuntu/bin/go_appengine/goroot -nobuild_files ^^$ -unsafe -work_dir /tmp/tmpJex0GQappengine-go-bin -gcflags -I,/home/ubuntu/bin/go_appengine/goroo
t/pkg/linux_amd64_appengine -ldflags -L,/home/ubuntu/bin/go_appengine/goroot/pkg/linux_amd64_appengine -gopath /home/ubuntu/mygo sanitizer/sanitize.go rdf/rdf.go rss/rss.go types.go fun
cs.go utils.go settings.go atom/atom.go sanitizer/strip.go main.go admin.go charge.go user.go autodiscover.go sanitizer/snip.go tasks.go)
^CINFO 2013-11-27 17:14:18,348 shutdown.py:44] Shutting down.
INFO 2013-11-27 17:14:18,375 api_server.py:524] Applying all pending transactions and saving the datastore
INFO 2013-11-27 17:14:18,375 api_server.py:527] Saving search indexes
With sudo only the error part change :
> ERROR 2013-11-27 15:04:50,576 go_runtime.py:166] Failed to build Go
> application:
> /home/ubuntu/mygo/src/github.com/mjibson/goread/sanitizer/sanitize.go:21:
> can't find import: "code.google.com/p/go.net/html"
The lines causing problems :
package sanitizer
17 package sanitizer
18
19 import (
20 "bytes"
21 "code.google.com/p/go.net/html"
22 "io"
23 "net/url"
24 "strings"
25 )
This is my go environment :
$ goapp env
GOARCH="amd64"
GOBIN=""
GOCHAR="6"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/ubuntu/mygo"
GORACE=""
GOROOT="/home/ubuntu/bin/go_appengine/goroot"
GOTOOLDIR="/home/ubuntu/bin/go_appengine/goroot/pkg/tool/linux_amd64"
CC="gcc"
GOGCCFLAGS="-g -O2 -fPIC -m64 -pthread"
CGO_ENABLED="1"
$ ll ~/bin/
Nov 27 14:34 appcfg.py -> go_appengine/appcfg.py*
Nov 27 14:34 dev_appserver.py -> go_appengine/dev_appserver.py*
Nov 18 01:36 go_appengine/
Nov 27 14:35 goapp -> go_appengine/goapp*
/home/ubuntu/mygo/pkg/
└── linux_amd64_appengine
└── code.google.com
└── p
└── go.net
├── html
│   └── atom.a
└── html.a
/home/ubuntu/mygo/src/
├── code.google.com
│   └── p
│   ├── go-charset
│   │   ├── charset
│   │   ├── cmd
│   │   ├── data
│   │   ├── datafiles
│   │   └── lib
│   └── go.net
│   ├── dict
│   ├── html
│   ├── idna
│   ├── ipv4
│   ├── ipv6
│   ├── netutil
│   ├── proxy
│   ├── publicsuffix
│   ├── spdy
│   └── websocket
└── github.com
├── gorilla
│   ├── context
│   └── mux
├── MiniProfiler
│   └── go
│   ├── example
│   ├── miniprofiler
│   ├── miniprofiler_gae
│   ├── miniprofiler_revel
│   ├── redis
│   ├── sql
│   └── ui
└── mjibson
├── appstats
│   └── static
├── goon
└── goread
├── atom
├── rdf
├── rss
├── sanitizer
├── static
└── templates
App engine version : linux_amd64-1.8.8
EDIT
Now I am getting
ERROR 2013-11-28 02:11:38,201 go_runtime.py:166] Failed to build Go application: /home/ubuntu/mygo/src/github.com/MiniProfiler/go/miniprofiler/static.go:19263: out of memory
ALthough I have like 480M of free RAM on my machine while running this command.
EDIT
I have tested and seems that there is not enough RAM on the machine that I wanted to run it on (free tier amazon instance) because it runs smoothly on my local machine with the following htop
summary
VIRT RES SHR S CPU% MEM% TIME+ Command
1492M 88588 5804 S 0.0 1.5 0:14.72 python /home/XXXX/bin/dev_appserver.py app.yaml
答案1
得分: 0
我已经测试过了,似乎我想要运行的机器(免费的亚马逊实例)上的内存不足,因为在我本地的机器上(拥有6GB的内存)它运行得很顺利。
英文:
I have tested and seems that there is not enough RAM on the machine that I wanted to run it on (free tier amazon instance) because it runs smoothly on my local machine with 6 GB of RAM.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论