我试图在我的本地开发机器上运行测试Cloud SDK版本是:159.0.0
我读过的所有内容都说我不应该改变GOROOT,所以我不确定如何解决这个问题。
$ / Users / bryan / google-cloud-sdk / platform / google_appengine / goroot / bin / goapp test
go: cannot find GOROOT directory: /tmp/go_sdk887571938/appengine/go_appengine/goroot
bryan @Bryans-MacBook Thu Jun 15 10:22:37~ / go / src / skincarereview
$ go env
GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/bryan/go/"
GORACE=""
GOROOT="/usr/local/go"
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
GO15VENDOREXPERIMENT="1"
CC="clang"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fno-common"
CXX="clang++"
CGO_ENABLED="1"
bryan @Bryans-MacBook Thu Jun 15 10:22:57~ / go / src / skincarereview
$ ls~ / google-cloud-sdk
total 408
drwxr-xr-x 30 bryan staff 1020 Jun 14 20:31 .install
-rw-r--r-- 1 bryan staff 980 Jun 14 20:30 LICENSE
-rw-r--r-- 1 bryan staff 673 Jun 14 20:30 README
-rw-r--r-- 1 bryan staff 162673 Jun 14 20:30 RELEASE_NOTES
-rw-r--r-- 1 bryan staff 8 Jun 14 20:30 VERSION
drwxr-xr-x 10 bryan staff 340 Jun 14 20:30 bin
-rw-r--r-- 1 bryan staff 2734 Jun 14 20:30 completion.bash.inc
-rw-r--r-- 1 bryan staff 2083 Jun 14 20:30 completion.zsh.inc
drwxr-xr-x 3 bryan staff 102 Jun 14 20:30 help
-rwxr-xr-x 1 bryan staff 1581 Jun 14 20:30 install.bat
-rwxr-xr-x 1 bryan staff 3471 Jun 14 20:30 install.sh
drwxr-xr-x 10 bryan staff 340 Jun 14 20:30 lib
-rw-r--r-- 1 bryan staff 308 Jun 14 20:30 path.bash.inc
-rw-r--r-- 1 bryan staff 1210 Jun 14 20:30 path.fish.inc
-rw-r--r-- 1 bryan staff 31 Jun 14 20:30 path.zsh.inc
drwxr-xr-x 6 bryan staff 204 Jun 14 20:30 platform
-rw-r--r-- 1 bryan staff 40 Jun 14 20:30 properties
bryan @Bryans-MacBook Thu Jun 15 10:24:22~ / go / src / skincarereview
$ find / -name goroot 2> / dev / null
/Users/bryan/google-cloud-sdk/platform/google_appengine/goroot
bryan @Bryans-MacBook Thu Jun 15 10:28:43~ / go / src / skincarereview
$ echo $ PATH
/Users/bryan/google-cloud-sdk/bin:/Users/bryan/go/src/:/Users/bryan/google-cloud-sdk/platform/google_appengine/goroot/bin/:/Users/bryan/google-cloud-sdk/bin/:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/go/bin
看看main.go第155行,我认为错误被抛出,我不知道" goroot"正在设定。
if fi, err := os.Stat(goroot); err != nil || !fi.IsDir() {
fmt.Fprintf(os.Stderr, "go: cannot find GOROOT directory: %v\n", goroot)
os.Exit(2)
}
答案 0 :(得分:1)
您可能想了解运行/测试的工作原理。该程序基本上构建到一个临时位置,然后运行,这可能是它为什么抱怨你的goroot。
这个问题可能会对您有所帮助:Golang: tests and working directory
答案 1 :(得分:1)
您可以尝试按照recommendation of this answer:
进行操作如果您的安装超出了原因(发生在我身上),只需删除云SDK及其
$PATH
中对它的任何引用。也完全卸载常规Go安装。然后从头开始。 Install Go, unpack google-cloud-sdk,运行安装程序(如果需要,请添加到
$PATH
),gcloud components install app-engine-go
瞧。
正如同一回答中所述,您不能将GOROOT
设置为it is set for you。
答案 2 :(得分:0)
我相信你打错了goapp。您应该直接在google_appengine文件夹中调用一个,如下所示:
.ignore
如果由于某种原因你没有在google_appengine中使用goapp,我会感到非常惊讶,但是后续工作也应该有效。 (以上是调用它的正确方法.goapp将appengine&#39的goroot解析为它自己位置的相对路径,因此goapp本身所在的位置非常重要。)
/Users/bryan/google-cloud-sdk/platform/google_appengine/goapp test