最近、Firebaseにデプロイしようとしたときに以下のエラーが表示されるようになりました(過去に正常に実行した後)。これが発生し始めるために何が変わったのか分かりません。 firebase serveを実行してローカルホストでサービスを提供すると、すべてが正常に機能します。私のpackage.jsonとindex.jsからの要求も以下にあります。
i deploying functions, hosting
i functions: ensuring necessary APIs are enabled...
i runtimeconfig: ensuring necessary APIs are enabled...
+ runtimeconfig: all necessary APIs are enabled
+ functions: all necessary APIs are enabled
i functions: preparing functions directory for uploading...
i functions: packaged functions (46.02 KB) for uploading
+ functions: functions folder uploaded successfully
i hosting: preparing public directory for upload...
! Warning: Public directory does not contain index.html
+ hosting: 9 files uploaded successfully
i starting release process (may take several minutes)...
i functions: updating function app...
! functions[app]: Deploy Error: Function load error: Code in file index.js can't be loaded.
Did you list all required modules in the package.json dependencies?
Detailed stack trace: Error: Cannot find module 'firebase-admin'
at Function.Module._resolveFilename (module.js:469:15)
at Function.Module._load (module.js:417:25)
at Module.require (module.js:497:17)
at require (internal/module.js:20:19)
at Object.<anonymous> (/user_code/node_modules/firebase-functions/lib/apps.j
s:25:16)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
Functions deploy had errors. To continue deploying other features (such as datab
ase), run:
firebase deploy --except functions
Error: Functions did not deploy properly.
package.json:
{
"name": "functions",
"description": "Cloud Functions for Firebase",
"dependencies": {
"@google-cloud/vision": "^0.12.0",
"async": "^2.5.0",
"consolidate": "^0.14.5",
"express": "^4.15.4",
"firebase-admin": "^5.4.0",
"firebase-functions": "^0.5.7",
"handlebars": "^4.0.10",
"jquery": "^3.2.1",
"js-levenshtein": "^1.1.3",
"json-query": "^2.2.2"
},
"private": true
}
Index.jsから:
const functions = require('firebase-functions');
const firebase = require('firebase-admin');
const express = require('express');
const engines = require('consolidate');
const Vision = require('@google-cloud/vision');
const levenshtein = require('js-levenshtein');
const restName = require('./restName');
const parser = require('./parser');
const jsonQuery = require('json-query')
const firebaseApp = firebase.initializeApp(
functions.config().firebase
);
彼らは積極的なサービスの中断を持っています。回避策は次のとおりです。 https://status.firebase.google.com/incident/Functions/17024
関数リポジトリ内で次のコマンドを実行します。
npm install --save-exact [email protected] npm install --save-exact [email protected]
次に、機能を再度デプロイしてみてください。
firebase deploy --only functions
Npmが機能しない場合は、機能するヤーンを試すことができます。
yarn add [email protected] --exact yarn add [email protected] --exact
フォルダー関数のpackage.jsonファイルを更新し、依存関係を見て、firebase-adminから〜を削除し、firebase-functionsから^を削除する必要があります。
"dependencies": {
"firebase-admin": "5.4.0",
"firebase-functions": "0.7.0"
}
コマンドラインタイプ
npmインストール
その後、もう一度展開してください。
関数ディレクトリに移動して、yarn
(またはnpm install
古い学校の場合)。その後、プロジェクトディレクトリに戻り、firebase deploy
もう一度。
インストールしてみてください:npm i -g [email protected]
これで問題が解決しました。
私も同じエラーを受け取りました。 nodejsに異なるバージョンをインストールすることで生じるエラーを修正します。新しいバージョンをアンインストールし、Node v7.8.をインストールします。それはうまく動作します:)