Запуск firebase deploy
или firebase deploy --only functions
или firebase deploy --only functions:functionName
дает мне Error: An unexpected error has occurred.
Не отмечайте этот вопрос как дубликат, потому что я искал каждый отдельный ответ на подобные вопросы и НИЧЕГО не решил проблему.В прошлый раз я успешно использовал облачные функции Firebase около месяца назад, но вчера я добавил новую функцию, и когда я попытался развернуть ее, я получил эту ошибку.С тех пор я удалял / устанавливал узел, может быть, 5 раз, версии 6.x, 8.x и последние 10.x, я создал новые проекты Firebase, попытался развернуть функцию «helloworld», которая появляется, когда вы инициализируете облачные функции, и ничего не работает.
Я загружаю узел отсюда (https://nodejs.org/en/download/), последняя версия 10.15.3. Я знаю, что в документации по облачным функциям (https://firebase.google.com/docs/functions/get-started) написано «Облачные функции могут работать на любом узле v6»).или Node v8. ", но Даг Стивенсон (https://www.youtube.com/watch?v=DYfP-UIKxH0&list=PLl-K7zZEsYLkPZHe41m4jfAxUi0JjLgSM) использует v9.5.0 без проблем в этом руководстве, и я также пробовал использовать несколько версий v6 и v8, после того как он не работал с v10, и такая же проблема существует.
Так что после того, как я загрузил его в каталог «D: \ node», я могу выполнить следующие команды:
C:\Users\PC>node --version
v10.15.3
C:\Users\PC>npm --version
6.4.1
C:\Users\PC>npm version
{ npm: '6.4.1',
ares: '1.15.0',
cldr: '33.1',
http_parser: '2.8.0',
icu: '62.1',
modules: '64',
napi: '3',
nghttp2: '1.34.0',
node: '10.15.3',
openssl: '1.1.0j',
tz: '2018e',
unicode: '11.0',
uv: '1.23.2',
v8: '6.8.275.32-node.51',
zlib: '1.2.11' }
Установка также добавила npm внутри »C: \ Users \ PC \ AppData \ Roaming \ npm "переменные каталога и среды для" C: \ Users \ PC \ AppData \ Roaming "и" D: \ node "Затем я перехожу в каталог D: \ node и запускаю эту команду:
npm install -g firebase-tools
Тогда я проверяю фиперебазировать версию с этим
D:\node>firebase --version
6.7.0
Затем я делаю firebase login
, который показывает, что я уже вошел в систему, я делаю firebase list
, который правильно показывает мои проекты Firebase.
Затем я создаю пустойПапка newFunctions и выполните эту команду:
firebase init functions
Я выбираю тот же проект, набираю текст в качестве языка и жду завершения установки,
import * as functions from 'firebase-functions';
// // Start writing Firebase Functions
// // https://firebase.google.com/docs/functions/typescript
//
export const helloWorld = functions.https.onRequest((request, response) => {
response.send("Hello from Firebase!");
});
Это функция по умолчанию, созданная в index.tsфайл, затем я изменяю каталог на newFunctions \ functions и запускаю эту команду точно так же, как Дуг в этом видео:
npm install firebase-functions@latest firebase-admin@latest --save
Добавлена папка node_modules внутри директории функций.Затем я запускаю firebase deploy (tried with firebase deploy --only functions also)
Я получаю это:
При поиске ответа я обнаружил, что могу запустить команду с дополнительной информацией с помощью --debug:
firebase deploy --debug --only functions
и я получаю это:
+ functions: functions folder uploaded successfully
[2019-04-22T13:44:45.305Z] TypeError: Cannot read property 'match' of undefined
at exports.getAppEngineLocation (C:\Users\PC\AppData\Roaming\npm\node_modules\firebase-tools\lib\functionsConfig.js:41:27)
at module.exports (C:\Users\PC\AppData\Roaming\npm\node_modules\firebase-tools\lib\deploy\functions\release.js:83:29)
at _chain (C:\Users\PC\AppData\Roaming\npm\node_modules\firebase-tools\lib\deploy\index.js:22:40)
at C:\Users\PC\AppData\Roaming\npm\node_modules\firebase-tools\lib\deploy\index.js:69:16
at process._tickCallback (internal/process/next_tick.js:68:7)
Error: An unexpected error has occurred.
Некоторые люди, у которых возникла похожая ошибка, решили проблему с помощью узла v6, который я тоже пробовал, но получил ту же ошибку.Я потерял более 10 часов, пытаясь решить эту проблему, которая не вызвана мной или моим кодом.