8

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 vendorgo mod verifyローカルで正常に実行され、ローカル パッケージmodelsがベンダー フォルダーに表示されます。load

4

1 に答える 1