Firebase-tools: verifyDeveloperNodeModules () не может обнаружить "firebase-admin"

Созданный на 9 мая 2019  ·  26Комментарии  ·  Источник: firebase/firebase-tools

Связанные вопросы

1243 и № 1258

[ОБЯЗАТЕЛЬНО] Информация о версии

узел: 8.16.0

firebase-функции: 2.3.0

firebase-tools: 6.9.1 ( ПРИМЕЧАНИЕ: работает на 6.8.0)

firebase-админ: 7.3.0

Я использую это в Windows 10.

[ОБЯЗАТЕЛЬНО] Тестовый пример


Недавно созданный проект firebase с использованием firebase init с functions.

[ОБЯЗАТЕЛЬНО] Шаги по воспроизведению

  1. Запустите npm run start (или firebase functions:shell )

[ОБЯЗАТЕЛЬНО] Ожидаемое поведение


Эмулятор запускается правильно

[ОБЯЗАТЕЛЬНО] Фактическое поведение

Отображаются следующие журналы:

!  The Cloud Functions emulator requires the module "firebase-admin" to be installed. This package is in your package.json, but it's not available. You probably need to run "npm install" in your functions directory.
i  functions: Your functions could not be parsed due to an issue with your node_modules (see above)

Удалось ли вам успешно развернуть свои функции?


Да, развертывание работает нормально. Развернутая функция (привет, мир) также

emulator-suite bug

Самый полезный комментарий

Это ошибка в firebase-tools версиях 6.9.0 и 6.9.1 . Решение состоит в том, чтобы на данный момент перейти на более раннюю версию 6.8.0 :

npm install -g [email protected]

ссылка: https://stackoverflow.com/a/56065094/4319131

Все 26 Комментарий

Я не мог понять, как обозначить эту проблему, поэтому обозначил ее для сортировки человеком. Держись.

Переходим к firebase-tools, поскольку именно там реализована эмуляция.

Эмулятор работает на [email protected] . Вероятно, эта проблема связана с номерами № 1243 и № 1258.

Возникла та же проблема:

✔  functions: Using node<strong i="6">@8</strong> from host.
✔  functions: Emulator started at http://localhost:5001
i  functions: Watching "/home/yerzhan/projects/askimam/functions" for Cloud Functions...
⚠  The Cloud Functions emulator requires the module "firebase-admin" to be installed. This package is in your package.json, but it's not available. You probably need to run "npm install" in your functions directory.
i  functions: Your functions could not be parsed due to an issue with your node_modules (see above)
firebase -V
6.9.1
  "dependencies": {
    "firebase-admin": "^7.3.0",
    "firebase-functions": "^2.3.0"
  },

Хотя пакет firebase-admin существует в node_modules.

[2019-05-09T09:19:26.091Z] ----------------------------------------------------------------------
[2019-05-09T09:19:26.093Z] Command:       /home/yerzhan/node-v8.12.0-linux-x64/bin/node /home/yerzhan/node-v8.12.0-linux-x64/bin/firebase emulators:start --debug
[2019-05-09T09:19:26.093Z] CLI Version:   6.9.1
[2019-05-09T09:19:26.093Z] Platform:      linux
[2019-05-09T09:19:26.093Z] Node Version:  v8.12.0
[2019-05-09T09:19:26.094Z] Time:          Thu May 09 2019 15:19:26 GMT+0600 (+06)
[2019-05-09T09:19:26.094Z] ----------------------------------------------------------------------

[2019-05-09T09:19:26.099Z] > command requires scopes: ["email","openid","https://www.googleapis.com/auth/cloudplatformprojects.readonly","https://www.googleapis.com/auth/firebase","https://www.googleapis.com/auth/cloud-platform"]
[2019-05-09T09:19:26.099Z] > authorizing via signed-in user
[2019-05-09T09:19:26.100Z] > refreshing access token with scopes: ["email","https://www.googleapis.com/auth/cloud-platform","https://www.googleapis.com/auth/cloudplatformprojects.readonly","https://www.googleapis.com/auth/firebase","openid"]
[2019-05-09T09:19:26.100Z] >>> HTTP REQUEST POST https://www.googleapis.com/oauth2/v3/token  
 <request body omitted>
[2019-05-09T09:19:26.891Z] <<< HTTP RESPONSE 200 content-type=application/json; charset=utf-8, vary=X-Origin, Referer, Origin,Accept-Encoding, date=Thu, 09 May 2019 09:19:26 GMT, server=scaffolding on HTTPServer2, cache-control=private, x-xss-protection=0, x-frame-options=SAMEORIGIN, x-content-type-options=nosniff, alt-svc=quic=":443"; ma=2592000; v="46,44,43,39", accept-ranges=none, transfer-encoding=chunked
[2019-05-09T09:19:26.901Z] >>> HTTP REQUEST GET https://cloudresourcemanager.googleapis.com/v1/projects/azan-kz-ask-imam  

[2019-05-09T09:19:28.625Z] <<< HTTP RESPONSE 200 content-type=application/json; charset=UTF-8, vary=X-Origin, Referer, Origin,Accept-Encoding, date=Thu, 09 May 2019 09:19:28 GMT, server=ESF, cache-control=private, x-xss-protection=0, x-frame-options=SAMEORIGIN, x-content-type-options=nosniff, server-timing=gfet4t7; dur=923, alt-svc=quic=":443"; ma=2592000; v="46,44,43,39", accept-ranges=none, transfer-encoding=chunked
i  Starting emulators: ["functions"]
✔  functions: Using node<strong i="5">@8</strong> from host.
[2019-05-09T09:19:28.637Z] >>> HTTP REQUEST GET https://mobilesdk-pa.googleapis.com/v1/projects/674391970261:getServerAppConfig  

[2019-05-09T09:19:29.356Z] <<< HTTP RESPONSE 200 content-type=application/json; charset=UTF-8, vary=X-Origin, Referer, Origin,Accept-Encoding, date=Thu, 09 May 2019 09:19:29 GMT, server=ESF, cache-control=private, x-xss-protection=0, x-frame-options=SAMEORIGIN, x-content-type-options=nosniff, alt-svc=quic=":443"; ma=2592000; v="46,44,43,39", accept-ranges=none, transfer-encoding=chunked
✔  functions: Emulator started at http://localhost:5001
i  functions: Watching "/home/yerzhan/projects/askimam/functions" for Cloud Functions...
[2019-05-09T09:19:29.813Z] Functions runtime initialized.
[2019-05-09T09:19:29.813Z] Disabled runtime features: undefined
⚠  The Cloud Functions emulator requires the module "firebase-admin" to be installed. This package is in your package.json, but it's not available. You probably need to run "npm install" in your functions directory.
i  functions: Your functions could not be parsed due to an issue with your node_modules (see above)

У меня такое же и найдено решение:
Вы можете использовать команду псевдонима следующим образом: «yarn serve» или «npm serve»
Он будет вызывать из пакета packages.json в блоке "scripts"

Такая же проблема здесь! Пытался найти обходной путь в течение 3 часов, но безуспешно.
Сегодня я просто подумал о добавлении firebase-admin в глобальный npm, но не уверен, что это должно работать.
Попробую ваше предложение @namcoder

@diogolessa Переход на firebase-tools 6.8.0 также решает проблему, разве это не вариант для вас?

Конечно, может быть ... Похоже, лучший подход. Хотя было бы неплохо, чтобы все новейшие версии нормально работали для таких новичков, как я. Спасибо @ExtraBB

То же самое и здесь ... Так бывает и в linux.

РЕДАКТИРОВАТЬ: «Исправление» понижения версии подтверждено.

У меня возникла эта проблема, я удалил инструменты firebase и переустановил

Та же проблема ... переход на более раннюю версию - единственный способ заставить его работать

Только настройка, которая в настоящее время работает
firebase-функции: 2.3.0
firebase-инструменты: 6.8.0
firebase-админ: 7.3.0

Привет, ребята, извините за проблему, которую вызывает эта проблема. Пока мы рекомендуем перейти на 6.8.0 пока мы работаем над патчем.

Эта проблема вызвана использованием собственного require.resolve в verifyDeveloperNodeModules() где следует использовать slowRequireResolve . Другое использование собственного require.resolve также будет иметь ту же проблему.

Это не было обнаружено в наших тестах, потому что require.resolve разрешается в зависимости разработчика от firebase-tools при запуске в тестах, поэтому создается впечатление, что нет разницы в поведении между require.resolve и slowRequireResolve

Это ошибка в firebase-tools версиях 6.9.0 и 6.9.1 . Решение состоит в том, чтобы на данный момент перейти на более раннюю версию 6.8.0 :

npm install -g [email protected]

ссылка: https://stackoverflow.com/a/56065094/4319131

Спасибо за обновления. У нас сработал переход на 6.8.0

Это в настоящее время не задокументировано в документации firebase для локального запуска функций и обязательно должно быть, если исправление еще не готово.

Хорошо, ребята, мы только что добавили исправление, которое выйдет сегодня в 6.9.2 . Мы можем дождаться исправления для # 1265 перед выпуском, но если это не поможет, оно выйдет как есть. Как только он исчезнет, ​​я закрою эту ошибку, но, пожалуйста, откройте ее повторно, если проблема все еще возникает.

Исправлено # 1263

Версия 6.9.2 была выпущена с этим исправлением.

Появляется следующая ошибка, интересно, связана ли она с этим новым выпуском:

AssertionError [ERR_ASSERTION]: missing path
    at Module.require (module.js:595:3)
    at require (internal/module.js:11:18)
    at InitializeFirebaseAdminStubs

обновлен с 6.8.0 до 6.9.2 и теперь вижу:

функции: Использование узла @ 8 от хоста.

! Эмулятор Cloud Functions требует, чтобы модуль firebase-functions-test был установлен в качестве зависимости разработки. Чтобы исправить это, запустите "npm install --save-dev firebase-functions-test" в каталоге ваших функций.
i functions: ваши функции не могут быть проанализированы из-за проблемы с вашими node_modules (см. выше)

После обновления до 6.9.2 я получаю много ошибок.

  1. https://github.com/firebase/firebase-tools/issues/1106
  2. https://github.com/firebase/firebase-tools/issues/1265
    и еще несколько ошибок после попытки устранить существующие.
    этот апгрейд еще более сломан. пришлось перейти на 6.8.0

Версия 6.9.2 была выпущена с этим исправлением.

Исправление не прижилось. Мы видим эту ошибку в "firebase-tools": "^6.10.0" .

Эмулятор Cloud Functions требует, чтобы модуль firebase-admin был версии> 7.0.0, поэтому ваша версия слишком старая. Вероятно, вы можете исправить это, запустив «npm install firebase-admin @ latest » в каталоге функций.

Мы удалили ^ из нашей зависимости package.json, чтобы предотвратить автоматическое обновление при установке.

"firebase-tools": "^6.8.0", // before
"firebase-tools": "6.8.0", // after

@diogolessa Переход на firebase-tools 6.8.0 также решает проблему, разве это не вариант для вас?

Спасибо, у меня это сработало

Была ли эта страница полезной?
0 / 5 - 0 рейтинги