web-dev-qa-db-fra.com

Version Node.js et fonctions Google Cloud

Je reçois ce message lorsque je démarre un serveur Firebase local avec firebase serve:

Avertissement: vous utilisez Node.js v8.9.4 mais Google Cloud Functions ne prend en charge que la v6.11.5.

Mais il n'y a aucune information sur ce qu'il faut faire. Que dois-je faire pour rétrograder Node.js en v6.11.5? Dois-je utiliser cette version uniquement pour les projets Firebase et la dernière version publiée de Node.js pour les autres projets? Dans ce cas, comment faire cela?


EDIT: L'avertissement ressemble maintenant à ceci et je ne peux pas exécuter un nouveau projet presque vide:

Warning: You're using Node.js v8.9.4 but Google Cloud Functions only supports v6.11.5.
!  functions: Failed to load functions source code. Ensure that you have the latest SDK by running npm i --save firebase-functions inside the functions directory.
!  functions: Error from emulator. mod.hasOwnProperty is not a function

Je pense donc vraiment que je dois downgrande Node.js. Mais je ne sais pas comment faire ça en toute sécurité. Hm, en regardant http://nodejs.org/ Je ne trouve même pas la version v6.11.5?


EDIT 2: vient d'être enregistré dans le nouveau projet si npm update --dev a résolu le problème. Il n'a pas. (En fait, aucun paquet n'a été mis à jour.)

11
Leo

C'est juste un avertissement. Vous pouvez l'ignorer si vous savez ce que vous faites. Cela vous indique que votre émulation locale d'une fonction (exécutée sur le nœud 8.9.4) peut ne pas correspondre parfaitement à ce que la fonction fera lorsqu'elle sera déployée dans les fonctions cloud (exécutant 6.11.5). Mais tant que vous n'utilisez pas de fonctionnalités de nœud qui ne sont pas disponibles sur le nœud 6.11.5, vous n'aurez pas de problème. J'utilise des versions plus récentes de node pour tester localement tout le temps sans problème.

10
Doug Stevenson

Vous pouvez désinstaller et réinstaller l'émulateur Cloud Functions et les outils Firebase à l'aide des commandes fournies dans le guide GitHub Dépannage . Étant donné que vous utilisez Firebase, suivez les instructions des ‘Outils Firebase’.

2

Le noeud v8 est désormais disponible pour les fonctions cloud: https://firebase.googleblog.com/2018/08/cloud-functions-for-firebase-config-node-8-timeout-memory-region.html =

Je pense donc que cet avertissement peut vraiment être ignoré ...

2
Brian Ogden

Il existe plusieurs outils répertoriés dans les réponses à cette question

Pour Windows, je viens d'utiliser avec succès nvmw pour accomplir cette même tâche.

1
easycheese

Vous obtiendrez le nvm ici

Après l'installation de nvm. utilisez simplement cette commande "nvm install 8.9.1 64bit", vous pouvez utiliser n'importe quelle version ici ou 64bit 32bit selon la configuration de votre système après cette installation, utilisez "nvm use 8.9.1"

1
Usama Tahir