所以我有这个Go应用程序,它在本地主机上运行的很好,但是我想在google云上托管,云已经安装好了。整棵dir树都是这样的。
gocode
---bin
---pkg
---src
---cloud.google.com
---github.com
...
---appname
---auth
---database
...
---main.go
---app.yaml
---cloudbuild.yaml
---go.mod这里是app.yaml
runtime: go112
api_version: go1
handlers:
- url: /.*
script: _go_app这是cloudbuild.yaml
steps:
- name: 'golang'
args: ['go', 'build', '.']
env: ['GO111MODULE=on']
- name: 'gcr.io/cloud-builders/go'
args: ['get', '-d', 'appname']
env: ['GOPATH=/gopath/','MODE=dev']
volumes:
- name: 'go'
path: '/gopath'
- name: 'gcr.io/cloud-builders/gcloud'
args: ['app', 'deploy']
env: ['GOPATH=/gopath/','MODE=dev']
volumes:
- name: 'go'
path: '/gopath'这里是go.mod
module github.com/Raj-Varun/appname-API/
require github.com/spf13/viper当我运行gcloud builds submit --config cloudbuild.yaml .时,我得到了这个错误
tarting Step #0
Step #0: Pulling image: golang
Step #0: Using default tag: latest
Step #0: latest: Pulling from library/golang
Step #0: Digest: sha256:a50a9364e9170ab5f5b03389ed33b9271b4a7b6bbb0ab41c4035adb3078927bc
Step #0: Status: Downloaded newer image for golang:latest
Step #0: docker.io/library/golang:latest
Step #0: go: errors parsing go.mod:
Step #0: /workspace/go.mod:3: usage: require module/path v1.2.3
Finished Step #0
ERROR
ERROR: build step 0 "golang" failed: exit status 1发布于 2019-10-16 07:31:46
正如错误消息中所解释的,要求包路径必须具有这种格式的require module/path v1.2.3。
在您的go.mod中,您有以下内容:
require github.com/spf13/viper你有module/path,但你没有版本!
进入viper github项目,并接受您想要的发布版本。。例如
require github.com/spf13/viper v1.4.0您还可以尝试执行go mod tidy来自动生成和清理go.mod文件。
https://stackoverflow.com/questions/58401806
复制相似问题