Go モジュールを使用して Go 1.11 で Google クラウド関数をデプロイしようとすると問題が発生します。私は私の中に次のコード構造を持っていますGOPATH
:
└── example
├── models
│ ├── go.mod
│ └── models.go
└── load
├── fn.go
├── go.mod
├── go.sum
└── vendor
└── ....
load/go.mod は次のようになります。
module github.com/example/load
require (
github.com/example/models v0.0.0
)
replace github.com/example/models => ../models
コマンドを使用して関数をデプロイしようとすると
gcloud functions deploy load-data --entry-point GCSNewFileTrigger --runtime go111 --trigger-resource new_data --trigger-event google.storage.object.finalize
次のエラーが表示されます。
Deploying function (may take a while - up to 2 minutes)...failed.
ERROR: (gcloud.functions.deploy) OperationError: code=3, message=Build failed: go: parsing /models/go.mod: open /models/go.mod: no such file or directory
go: error loading module requirements
コマンドgo mod vendor
とgo mod verify
ローカルで正常に実行され、ローカル パッケージmodels
がベンダー フォルダーに表示されます。load