Настройка облачных функций Firebase - PullRequest
0 голосов
/ 25 апреля 2020

Итак, я сейчас пытаюсь настроить облачные функции в нашем проекте React, но, к сожалению, у меня ничего не получается. Я установил Firebase CLI, используя npm install -g firebase-tools. Я также обновил firebase-functions и firebase-admin до последней версии. После этого нужно использовать команду в терминале 'firebase login', но когда я это делаю, это то, что я получаю

$ firebase login
internal/modules/cjs/loader.js:1174
      throw new ERR_REQUIRE_ESM(filename, parentPath, packageJsonPath);
      ^

Error [ERR_REQUIRE_ESM]: Must use import to load ES Module: C:\Users\CB\AppData\Roaming\npm\node_modules\firebase-tools\node_modules\is-promise\index.js
require() of ES modules is not supported.
require() of C:\Users\CB\AppData\Roaming\npm\node_modules\firebase-tools\node_modules\is-promise\index.js from C:\Users\CB\AppData\Roaming\npm\node_modules\firebase-tools\node_modules\run-async\index.js is an ES module file as it is a .js file whose nearest parent package.json contains "type": "module" which defines all .js files in that package scope as ES modules.
Instead rename C:\Users\CB\AppData\Roaming\npm\node_modules\firebase-tools\node_modules\is-promise\index.js to end in .cjs, change the requiring code to use import(), or remove "type": "module" from C:\Users\CB\AppData\Roaming\npm\node_modules\firebase-tools\node_modules\is-promise\package.json.

    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1174:13)
    at Module.load (internal/modules/cjs/loader.js:1002:32)
    at Function.Module._load (internal/modules/cjs/loader.js:901:14)
    at Module.require (internal/modules/cjs/loader.js:1044:19)
    at require (internal/modules/cjs/helpers.js:77:18)
    at Object.<anonymous> (C:\Users\CB\AppData\Roaming\npm\node_modules\firebase-tools\node_modules\run-async\index.js:3:17)
    at Module._compile (internal/modules/cjs/loader.js:1158:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1178:10)
    at Module.load (internal/modules/cjs/loader.js:1002:32)
    at Function.Module._load (internal/modules/cjs/loader.js:901:14) {
  code: 'ERR_REQUIRE_ESM'
}

Я попробовал то, что он рекомендовал, кроме изменения требуется код для использования import (), потому что я не знаю, как заставить это работать.

1 Ответ

1 голос
/ 26 апреля 2020

Так что я думаю, что понял проблему. После установки последней версии Node.js я снова запустил npm install -g firebase-tools, и он добавил еще несколько вещей. Для того, чтобы войти через firebase через терминал, мне нужно было ввести firebase login --interactive

...