когда я пытаюсь запустить firebase serve --only functions
выдает следующую ошибку и работает только на хостинге
functions: Cannot start emulator. Error: Cannot find module '@google-cloud/functions-emulator/src/config'
Похоже, что эмулятор, возможно, не удалось установить, когда вы установили firebase-tools
(это необязательная зависимость, так что это возможно). Не могли бы вы попробовать повторно запустить npm install -g firebase-tools
и проверить вывод, чтобы убедиться, что @google-cloud/functions-emulator
втянулся вместе с ним?
Пинг? Хотел бы получить от вас ответ или мы закроем за неактивность
Я делал то же самое, устанавливал и переустанавливал модули безрезультатно.
➜ firebase служит --only функции
=== Подача из '
⚠ функции: Не удается запустить эмулятор. Ошибка: не удается найти модуль '@google-cloud/functions-emulator/src/config'
➜ npm install -g firebase-tools
npm WARN deprecated [email protected] : вместо этого используйте модуль uuid
/дома/
=== Подача из '
⚠ функции: Не удается запустить эмулятор. Ошибка: не удается найти модуль '@google-cloud/functions-emulator/src/config'
То же самое. Прошел так несколько дней. Даже после сегодняшнего обновления.
@danielsada и @raelmiu Можете ли вы попробовать:
npm uninstall -g firebase-tools && npm i -g firebase-tools
Сделал это, некоторые из заметных предупреждений:
node-pre-gyp ERR! Tried to download(403): https://storage.googleapis.com/grpc-precompiled-binaries/node/grpc/v1.4.1/node-v59-linux-x64.tar.gz
node-pre-gyp ERR! Pre-built binaries not found for [email protected] and [email protected] (node-v59 ABI) (falling back to source compile with node-gyp)
make: Entering directory '/home/danielsada/.npm-global/lib/node_modules/firebase-tools/node_modules/grpc/build'
потом
`> @google-cloud/ [email protected] после установки /home/
скрипты узла/предупреждение об обновлении`
И наконец, та же ошибка
Я получаю ту же ошибку. Пробовали удалять и переустанавливать.
У кого-нибудь это сработало? Все еще получаю ту же ошибку.
То же самое. Установил узел 6.11, переустановил инструменты, все равно не работает.
Может воспроизводиться в v3.17.2
Всем привет, можете попробовать v3.17.3? @Mir-Ansar у вас похоже ошибка разрешения, вот информация о том, как исправить: https://docs.npmjs.com/getting-started/fixing-npm-permissions
Я пробовал .3 и .2 и получаю ту же ошибку :(
Есть ли какое-нибудь решение для этого?
Извините, я не могу воспроизвести проблему, похоже, она похожа на https://github.com/GoogleCloudPlatform/cloud-functions-emulator/issues/170#issue -278096938. Поэтому вы можете добавить +1 к этой проблеме.
Другие вещи, которые вы можете попробовать:
npm i -g npm
npm unintall -g firebase-tools && npm i -g firebase-tools
У меня точно такая же проблема, пробовал большинство предложенных решений, ничего не помогло. Тем временем у кого-нибудь есть решение?
Я получаю ту же ошибку
Я не уверен, что именно вызывает эту проблему. Но вот рабочее решение этой проблемы. StackOverflow - Firebase: не удается запустить эмулятор
npm install -g @google-cloud/functions-emulator
исправил это для меня.
@RyanNewsom не решил эту проблему за меня. Все еще сломан.
Любое рабочее решение? Мой эмулятор работал, но теперь это не так
У меня есть пара похожих проектов, один работает, один не работает в соответствии с приведенными выше комментариями, а также развертывание firebase, которое работало - теперь по необъяснимым причинам не работает. При таком количестве людей, которых постигла та же участь как здесь, так и на stackOverflow в течение многих месяцев, может показаться, что система должна быть менее хрупкой.
причиной этой проблемы в большинстве случаев является неправильная версия python при установке firebase.
убедитесь, что вы используете оболочку с python 2 , а затем перезапустите:
npm install -g firebase-tools
Последняя версия firebase-tools (v3.17.5) удаляет grpc как зависимость, что должно решить эти проблемы. Пожалуйста, обновитесь, запустив npm i -g firebase-tools
Исправил это для меня.
возникла та же проблема, когда у вас другая версия узла, чем механизм узла в package.json
решение:
ниже пряжа, не стесняйтесь использовать npm
# install current working directory dependencies
yarn --ignore-engines
# install firebase-tools if u didn't
yarn global add firebase-tools
# install functions-emulator
yarn global add @google-cloud/functions-emulator --ignore-engines
⚠ functions: Cannot start emulator. Error: Cannot find module '@google-cloud/functions-emulator/src/config'
(node:15281) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'exit' of undefined
at /usr/local/lib/node_modules/firebase-tools/lib/command.js:82:34
at process._tickCallback (internal/process/next_tick.js:68:7)
(node:15281) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 2)
(node:15281) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
Пробовал методы @ddo , но не сработало.
⚠ functions: Cannot start emulator. Error: Cannot find module '@google-cloud/functions-emulator/src/config' (node:15281) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'exit' of undefined at /usr/local/lib/node_modules/firebase-tools/lib/command.js:82:34 at process._tickCallback (internal/process/next_tick.js:68:7) (node:15281) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 2) (node:15281) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
Пробовал методы @ddo , но не сработало.
Работал, после того как я:
/usr/local/lib/node_modules
(или предыдущий глобальный пакет, установленный с узла корневого уровня)sudo
( npm i -g firebase-tools
)sdfsdfadf
я также недавно перешел на использование узла 8 и имел проблемы с firebase serve --only functions
и firebase-tools
, не желающими полностью установить @google-cloud/[email protected]: The engine "node" is incompatible with this module. Expected version "~6". Got "8.1.0"
, но --ignore-engines
действительно помогает - теперь работает нормально, но выдает предупреждение
[Jest Dev server] $ firebase serve --only functions -p 5000 -o 0.0.0.0
[Jest Dev server]
[Jest Dev server] === Serving from '/Users/xxx/project-name'...
[Jest Dev server]
[Jest Dev server] i functions: Preparing to emulate functions.
[Jest Dev server] Warning: You're using Node.js v8.1.0 but Google Cloud Functions only supports v6.11.5.
проблема решена, я просто прекращаю использовать firebase. Вот и все.
В среду, 14 ноября 2018 г., в 1:03 [email protected] написал:
я также недавно обновился до использования узла 8 и имел проблемы с firebase
serve --only functions и firebase-tools не желают полностью устанавливаться
@google-cloud/ [email protected] : "узел" движка
несовместим с этим модулем. Ожидается версия "~6". Получил "8.1.0", но
--ignore-engines действительно помогает - теперь он работает нормально, хотя и дает
предупреждение[Сервер Jest Dev] $ firebase serve --only functions -p 5000 -o 0.0.0.0
[Сервер Jest Dev]
[Сервер Jest Dev] === Обслуживание из '/Users/xxx/project-name'...
[Сервер Jest Dev]
[Сервер Jest Dev] i functions: Подготовка к эмуляции функций.
[Сервер Jest Dev] Внимание! Вы используете Node.js версии 8.1.0, но облачные функции Google поддерживают только версию 6.11.5.—
Вы получаете это, потому что вы прокомментировали.
Ответьте на это письмо напрямую, просмотрите его на GitHub
https://github.com/firebase/firebase-tools/issues/552#issuecomment-438375329 ,
или заглушить тему
https://github.com/notifications/unsubscribe-auth/Acq9nGZycDnglAuFYQiMNNVaQX9XEyTRks5uuwl-gaJpZM4Qx6cx
.
спаси меня:
yarn global remove @google-cloud/functions-emulator
yarn global add https://github.com/GoogleCloudPlatform/cloud-functions-emulator#master
У меня возникла эта проблема после обновления firebase-admin и некоторых других пакетов firebase. Я запускаю функции на узле 8. Мне удалось решить проблему, убедившись, что я установил firebase с --ignore-engines
Если вы в основном используете пряжу в своем проекте, используйте npm вместо пряжи при установке firebase-tools.
yarn global remove firebase-tools
npm i - g firebase-tools
У меня сработало: я столкнулся с этой проблемой внутри докера на Mac. Ничего не исправило. В итоге установил его на Mac, а затем скопировал в докер node_modules
. Это сработало.
Также возникла вышеуказанная проблема после перехода на функции узла 8. Используя --ignore-engines
, как уже упоминалось, хотя я все еще получаю это предупреждение:
Предупреждение. Вы используете Node.js версии 8.14.0, но облачные функции Google поддерживают только версию 6.11.5.
@Dygerati то же самое для меня.
Вот что я понимаю, кто-нибудь решил эту проблему?
functions: Cannot start emulator. Error: Cannot find module './acceleratedmobilepageurl/v1'
(node:16724) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'exit' of undefined
at C:\....\node_modules\firebase-tools\lib\command.js:82:34
at process._tickCallback (internal/process/next_tick.js:68:7)
(node:16724) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rej
ection id: 2)
(node:16724) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
npm install @google-cloud/functions-emulator --save-dev
решено для меня
Итак, эмулятор облачных функций Google «поддерживает только Node v6.xx. Он не поддерживает Node v8.xx».
https://github.com/GoogleCloudPlatform/cloud-functions-emulator#note
В документах Firebase по выбору версий узла говорится, что вы можете использовать узел 8 "engines": {"node": "8"}
но это в бета..
https://firebase.google.com/docs/functions/manage-functions#set_nodejs_version
хм... так что я могу использовать node8, но я не могу протестировать его локально, используя оболочку облачных функций (если я использую синтаксис, специфичный для node8)?
Имею ли я это право?
Firebase Team/Google Team, было бы полезно указать в документах, что эмулятор облачных функций не будет работать с узлом 8.
например, на этой странице https://firebase.google.com/docs/functions/manage-functions#set_nodejs_version есть что-то вроде
«вы можете установить среду выполнения на node 8, но если вы протестируете с помощью эмулятора облачных функций Google, он будет использовать node6.xx, и любой синтаксис, специфичный для node8, не будет работать»
подобное предупреждение здесь поможет
https://firebase.google.com/docs/functions/local-emulator#install_and_configure_the_cloud_functions_shell
также в отправленном вами электронном письме (25 февраля 2019 г.)
тема: [Требуется действие] Изменения в средах выполнения для новых развертываний облачных функций с 1 апреля
Я пришел сюда с тем же вопросом, что и @julianorinyol : есть ли план по доведению эмулятора до уровня, совместимого с синтаксисом Node 8?
используя узел 8 (с пряжей), у меня это сработало:
yarn add @google-cloud/functions-emulator --ignore-engines
Самый полезный комментарий
возникла та же проблема, когда у вас другая версия узла, чем механизм узла в
package.json
решение:
ниже пряжа, не стесняйтесь использовать npm