развертывание firebase Не найдено файлов, соответствующих шаблону «‘src / ** /*'»

#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


  

https://i.imgur.com/rb10Tsi.png

Комментарии:

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, как показано в этом коммите.