Версия Node.js и функции Google Cloud
Я получаю это сообщение, когда запускаю локальный сервер Firebase с firebase serve
:
Предупреждение: вы используете Node.js v8.9.4, но облачные функции Google поддерживают только v6.11.5.
Но нет информации о том, что делать. Что мне нужно сделать, чтобы понизить Node.js до версии 6.11.5? Должен ли я использовать эту версию только для проектов Firebase и последнюю выпущенную версию Node.js для других проектов? В таком случае, как мне это сделать?
РЕДАКТИРОВАТЬ: предупреждение теперь выглядит следующим образом, и я не могу запустить новый почти пустой проект:
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
Так что я действительно думаю, что должен понизить Node.js. Но я не знаю, как безопасно это сделать. Хм, глядя на http://nodejs.org/ Я даже не могу найти версию v6.11.5?
РЕДАКТИРОВАТЬ 2: Просто проверил в новом проекте, если npm update --dev
проблему. Это не так. (На самом деле нет пакетов, где обновляется.)
Ответы
Ответ 1
Это просто предупреждение. Вы можете игнорировать его, если знаете, что делаете. Это говорит о том, что локальная эмуляция функции (работающей на узле 8.9.4) может не совсем соответствовать тому, что функция будет делать при ее развертывании в облачных функциях (работает 6.11.5). Но пока вы не используете какие-либо функции узла, которые недоступны на узле 6.11.5, у вас не будет проблемы. Я использую новые версии узла для тестирования локально все время без проблем.
Ответ 2
Вы можете удалить и переустановить эмуляторы облачных функций и Firebase Tools, используя команды, приведенные в руководстве по устранению неполадок GitHub. Поскольку вы используете Firebase, следуйте инструкциям для "Firebase Tools".
Ответ 3
Узел v8 теперь доступен для облачных функций: https://firebase.googleblog.com/2018/08/cloud-functions-for-firebase-config-node-8-timeout-memory-region.html
Поэтому я считаю, что это предупреждение действительно можно игнорировать...
Ответ 4
Есть несколько инструментов, перечисленных в ответах на этот вопрос
Для Windows я просто успешно использовал nvmw для выполнения этой же задачи.
Ответ 5
Вы получите НВМ здесь
После установки нвм. просто используйте эту команду "nvm install 8.9.1 64bit", вы можете использовать любую версию здесь или 64bit 32bit в соответствии с конфигурацией вашей системы, после этой установки используйте "nvm use 8.9.1"