Macでfirebaseserveを実行するたびに、404エラーが発生します...これはこれまでに発生したことがなく、発生する5分前にローカル開発サーバーを使用していました。 firebase.jsonファイルを削除して再初期化し、firebaseツールを再インストールしましたが、毎回失敗します。コマンドをデバッグモードで実行した結果は次のとおりです。
firebase serve --debug
[2018-09-11T16:12:25.873Z] ----------------------------------------------------------------------
[2018-09-11T16:12:25.876Z] Command: /usr/local/bin/node /usr/local/bin/firebase serve --debug
[2018-09-11T16:12:25.877Z] CLI Version: 4.2.1
[2018-09-11T16:12:25.877Z] Platform: darwin
[2018-09-11T16:12:25.877Z] Node Version: v6.11.3
[2018-09-11T16:12:25.878Z] Time: Tue Sep 11 2018 11:12:25 GMT-0500 (CDT)
[2018-09-11T16:12:25.878Z] ----------------------------------------------------------------------
[2018-09-11T16:12:25.890Z] > command requires scopes: ["email","openid","https://www.googleapis.com/auth/cloudplatformprojects.readonly","https://www.googleapis.com/auth/firebase","https://www.googleapis.com/auth/cloud-platform"]
[2018-09-11T16:12:25.890Z] > authorizing via signed-in user
[2018-09-11T16:12:25.893Z] >>> HTTP REQUEST GET https://admin.firebase.com/v1/projects/skadaddle-10f24
[2018-09-11T16:12:26.210Z] <<< HTTP RESPONSE 200 server=nginx, date=Tue, 11 Sep 2018 16:12:26 GMT, content-type=application/json; charset=utf-8, content-length=114, connection=close, x-content-type-options=nosniff, strict-transport-security=max-age=31536000; includeSubdomains, cache-control=no-cache, no-store
[2018-09-11T16:12:26.212Z] >>> HTTP REQUEST GET https://cloudresourcemanager.googleapis.com/v1/projects/skadaddle-10f24
[2018-09-11T16:12:26.385Z] <<< HTTP RESPONSE 200 content-type=application/json; charset=UTF-8, vary=X-Origin, Referer, Origin,Accept-Encoding, date=Tue, 11 Sep 2018 16:12:26 GMT, server=ESF, cache-control=private, x-xss-protection=1; mode=block, x-frame-options=SAMEORIGIN, x-content-type-options=nosniff, alt-svc=quic=":443"; ma=2592000; v="44,43,39,35", accept-ranges=none, connection=close
=== Serving from '/Users/Kevin/Desktop/Source/Skadaddle'...
[2018-09-11T16:12:26.388Z] >>> HTTP REQUEST GET https://mobilesdk-pa.googleapis.com/v1/projects/255074367563/clients/_:getWebAppConfig
[2018-09-11T16:12:26.514Z] <<< HTTP RESPONSE 404 vary=X-Origin, Referer, Origin,Accept-Encoding, content-type=application/json; charset=UTF-8, date=Tue, 11 Sep 2018 16:12:26 GMT, server=ESF, cache-control=private, x-xss-protection=1; mode=block, x-frame-options=SAMEORIGIN, x-content-type-options=nosniff, alt-svc=quic=":443"; ma=2592000; v="44,43,39,35", accept-ranges=none, connection=close
[2018-09-11T16:12:26.514Z] <<< HTTP RESPONSE BODY code=404, message=Requested entity was not found., status=NOT_FOUND
Error: HTTP Error: 404, Requested entity was not found.
[2018-09-11T16:12:26.519Z] Error Context: {
"body": {
"error": {
"code": 404,
"message": "Requested entity was not found.",
"status": "NOT_FOUND"
}
},
"response": {
"statusCode": 404,
"body": {
"error": {
"code": 404,
"message": "Requested entity was not found.",
"status": "NOT_FOUND"
}
},
"headers": {
"vary": "X-Origin, Referer, Origin,Accept-Encoding",
"content-type": "application/json; charset=UTF-8",
"date": "Tue, 11 Sep 2018 16:12:26 GMT",
"server": "ESF",
"cache-control": "private",
"x-xss-protection": "1; mode=block",
"x-frame-options": "SAMEORIGIN",
"x-content-type-options": "nosniff",
"alt-svc": "quic=\":443\"; ma=2592000; v=\"44,43,39,35\"",
"accept-ranges": "none",
"connection": "close"
},
"request": {
"uri": {
"protocol": "https:",
"slashes": true,
"auth": null,
"Host": "mobilesdk-pa.googleapis.com",
"port": 443,
"hostname": "mobilesdk-pa.googleapis.com",
"hash": null,
"search": null,
"query": null,
"pathname": "/v1/projects/255074367563/clients/_:getWebAppConfig",
"path": "/v1/projects/255074367563/clients/_:getWebAppConfig",
"href": "https://mobilesdk-pa.googleapis.com/v1/projects/255074367563/clients/_:getWebAppConfig"
},
"method": "GET"
}
}
}
問題はGoogleにあります。 firebase serve
を実行すると、 https://mobilesdk-pa.googleapis.com にリクエストが送信され、現在404エラーがスローされます。
node_modules/firebase-tools/lib
の3つのファイルを編集することで、これを回避することができました(一時的な修正)。
api.js
の99行目は、不正なURLが呼び出されている場所です。これを404以外の有効なURLに変更するだけです。
次に、fetchWebSetup.js
で、9行目の"GET"
の後のパラメータを空白の文字列に変更します(例:return api.request("GET", "", {
51行目のfunctionsConfig.js
に対して上記と同じことを行います。
これで今のところ稼働するはずですが、GoogleがそのURLを修正すると解決するはずです。
Firebaseの従業員はこちら
CLIの展開には既知の問題があります。調査中です。ここで停止を追跡できます。
https://status.firebase.google.com/incident/Hosting/18015
このようなCLIの障害が発生した場合は、Firebaseサポートに直接連絡してください。関連するすべての詳細をお知らせください。
この問題を修正するには、.firebaserc
を削除してから、firebase init
を再度実行する必要がありました。誤って既存の構成を上書きしないように注意してください。