#node.js #firebase #google-cloud-functions #firebase-cli
#node.js #firebase #google-cloud-функции #firebase-cli
Вопрос:
я пытаюсь развернуть свою первую облачную функцию на firebase, но проблема в том, что она всегда говорит, что что-то не так, и никакие файлы не соответствуют шаблону, я не знаю, почему, даже если index.ts находится там, где он должен быть, код ошибки
=== Deploying to 'mscmu-aeab1'...
i deploying functions
Running command: npm --prefix "$RESOURCE_DIR" run lint
> functions@ lint C:Usersfahmimsc_mucloud_functionsfunctions
> eslint 'src/**/*'
Oops! Something went wrong! :(
ESLint: 7.9.0
No files matching the pattern "'src/**/*'" were found.
Please check for typing mistakes in the pattern.
npm ERR! code ELIFECYCLE
npm ERR! errno 2
npm ERR! functions@ lint: `eslint 'src/**/*'`
npm ERR! Exit status 2
npm ERR!
npm ERR! Failed at the functions@ lint script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! C:UsersfahmiAppDataRoamingnpm-cache_logs2020-09-26T22_01_33_578Z-debug.log
Error: functions predeploy error: Command terminated with non-zero exit code2
Комментарии:
1. Пожалуйста, отредактируйте вопрос, чтобы объяснить полный набор шагов, которые вы предприняли, чтобы добраться до этого момента. Он должен содержать достаточно деталей, чтобы любой мог достоверно воспроизвести проблему. Сообщение об ошибке предполагает, что у вас нет исходного кода в разделе «src» для развертывания.
2. но у меня есть, как я уже сказал, у меня есть файл index.ts и функция cloud в нем
3. Похоже, это связано с тем, что вы используете Windows, а новый шаблон функций для CLI его не поддерживает.
Ответ №1:
В ваших функциях package.json
отредактируйте lint
сценарий следующим образом:
eslint --ext .ts src
Комментарии:
1. Изменение большого двоичного объекта на just
src
также важно, но почему?2.
eslint
на самом деле поддерживает оба синтаксиса. Если вы предпочитаете использовать шаблон glob, вам нужно экранировать"
s, чтобы он работал как в Linux, так и в Windows. — eslint.org/docs/user-guide/command-line-interface
Ответ №2:
Эта проблема решена в этом коммите.
В ваших functions
папках откройте package.json
и отредактируйте строку, начинающуюся с lint
такой:
"lint": "eslint "src/**/*""
Ответ №3:
Эта проблема устранена с помощью командной строки Firebase версии 8.12.0. Обновление заключается в экранировании кавычек вокруг аргумента eslint, как показано в этом коммите.