J'essaie de déployer une application Node.js sur Google Cloud Functions, mais il semble qu'elle ne télécharge aucune de mes dépendances. Chaque fois que mon code frappe une ligne require
, il jette l'erreur suivante:Fonctions Cloud ne téléchargeant pas de dépendances
Deployment failure:
Function load error: Code in file app.js can't be loaded.
Did you list all required modules in the package.json dependencies?
Detailed stack trace: Error: Cannot find module 'googleapis'
at Function.Module._resolveFilename (module.js:469:15)
at Function.Module._load (module.js:417:25)
at Module.require (module.js:497:17)
at require (internal/module.js:20:19)
at Object.<anonymous> (/user_code/app.js:1:63)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
Mon bloc package.json
dépendances:
"dependencies": {
"actions-on-google": "^1.0.9",
"body-parser": "^1.15.2",
"chai-as-promised": "^6.0.0",
"express": "^4.14.0",
"express-healthcheck": "^0.1.0",
"googleapis": "^19.0.0",
"https": "^1.0.0",
"istanbul": "^0.4.5",
"newrelic": "^1.40.0",
"nodemailer": "^4.0.1",
"querystring": "^0.2.0",
"request": "^2.81.0",
"string-format": "^0.5.0",
"universal-analytics": "^0.4.13",
"xml2js": "^0.4.17"
},
est-il un moyen de forcer l'installation, ou est-il quelque chose de mal avec la manière Je fais ça? Je n'obtiens aucune erreur en exécutant le paquet functions
localement via la commande functions deploy runApp --trigger-http
et peux faire tout ce que je veux via mon ordinateur local. L'erreur ne se produit que lorsque vous essayez de le mettre dans le nuage
J'ai aussi essayé via le gcloud beta functions
CLI en utilisant le drapeau --verbose
comme mentionné dans this answer et j'ai la trace suivante:
DEBUG: (gcloud.beta.functions.deploy) OperationError: code=13, message=Error in the build environment
Traceback (most recent call last):
File "/Users/<username>/google-cloud-sdk/lib/googlecloudsdk/calliope/cli.py", line 789, in Execute
resources = args.calliope_command.Run(cli=self, args=args)
File "/Users/<username>/google-cloud-sdk/lib/googlecloudsdk/calliope/backend.py", line 754, in Run
resources = command_instance.Run(args)
File "/Users/<username>/google-cloud-sdk/lib/surface/functions/deploy.py", line 482, in Run
return self._UpdateFunction(location, function)
File "/Users/<username>/google-cloud-sdk/lib/googlecloudsdk/api_lib/functions/util.py", line 364, in CatchHTTPErrorRaiseHTTPExceptionFn
return func(*args, **kwargs)
File "/Users/<username>/google-cloud-sdk/lib/surface/functions/deploy.py", line 441, in _UpdateFunction
operations.Wait(op, messages, client, _DEPLOY_WAIT_NOTICE)
File "/Users/<username>/google-cloud-sdk/lib/googlecloudsdk/api_lib/functions/operations.py", line 108, in Wait
_WaitForOperation(client, request, notice)
File "/Users/<username>/google-cloud-sdk/lib/googlecloudsdk/api_lib/functions/operations.py", line 83, in _WaitForOperation
sleep_ms=SLEEP_MS)
File "/Users/<username>/google-cloud-sdk/lib/googlecloudsdk/core/util/retry.py", line 212, in RetryOnResult
result = func(*args, **kwargs)
File "/Users/<username>/google-cloud-sdk/lib/googlecloudsdk/api_lib/functions/operations.py", line 47, in _GetOperationStatus
raise exceptions.FunctionsError(util.GetOperationError(op.error))
FunctionsError: OperationError: code=13, message=Error in the build environment
Essayez de mettre à jour la version du paquet googleapis. La dernière version est 21.3.0, peut-être que c'est quelque chose avec la résolution de paquets. – QuestionAndAnswer
J'ai ajouté comment je l'ai eu fonctionnant ci-dessous mais je pourrais complètement retirer 'googleapis' de mon application et il échouerait juste à la prochaine instruction' require' et dirait que le paquet n'était pas valide. – jbird