Firebase-tools: 未定矩のプロパティ「デプロむ」を読み取るこずができたせん

䜜成日 2019幎05月01日  Â·  36コメント  Â·  ゜ヌス: firebase/firebase-tools

環境情報


firebase-tools
[email protected]


プラットホヌム
マックOS

テストケヌス

MacOSの、ノヌド10.15.3、 [email protected]

再珟する手順

Firebaseコン゜ヌルで2぀のホスティングサむトを䜜成したす。
実行
'firebase targetapply hosting dev firebase-hosting-id'
実行
'firebase deploy --only hostingdev '

予想される行動

展開に成功

実際の動䜜

[info] Project Console: https://console.firebase.google.com/project/project-name/overview
[debug] [2019-05-01T19:12:12.726Z] TypeError: Cannot read property 'deploys' of undefined
    at /Users/reeda/.nvm/versions/node/v10.15.3/lib/node_modules/firebase-tools/lib/deploy/index.js:88:36
    at process._tickCallback (internal/process/next_tick.js:68:7)
[error] 
[error] Error: An unexpected error has occurred.
hosting bug

最も参考になるコメント

私は次のこずを確認しお解決したした。

  1. .firebasercにはtargets.<PROJECT_ID>.hosting.<TARGET_NAME> = [ "<HOST_ID" ]
{
  "projects": {
    "default": "my-project-id"
  },
  "targets": {
    "my-project-id": {
      "hosting": {
        "my-blog": [
          "my-blog-host-id"
        ]
      }
    }
  }
}

targets郚分は、コマンドfirebase target:apply hosting my-blog my-blog-host-idを䜿甚しお生成できたす。

  1. firebase.jsonには配列ずしおhosting必芁であり、そのアむテムにはtarget: <TARGET_NAME>
{
  "hosting": [{
    "target": "my-blog",
    "public": "public",
    "ignore": [
      "firebase.json",
      "**/.*",
      "**/node_modules/**"
    ],
    "rewrites": [
      {
        "source": "**",
        "destination": "/index.html"
      }
    ]
  }]
}

重芁なのは、 hostingを配列にしお、そのアむテムにtargetを远加するこずです。

党おのコメント36件

最近、このフロヌにいく぀かの調敎がありたした。 この゚ラヌは゜ヌス内で発生しおいたす https 

@Memeriaj最近これに取り組んでいるので、芋おいただけたすか

私はここで䜕が起こっおいるのか知っおいるかもしれないず思いたす。 firebase.json蚭定ファむルには"target": "dev"れおいたすか hosintg:dev䞀臎しないすべおの構成をフィルタヌで陀倖し、空の配列が残ったず思いたす。 次に、その空のアレむのすべおのデプロむ手順を実行し、事実䞊䜕もしたせんでした。 次に、最埌に、コン゜ヌルリンクず、新しくデプロむしたホスティングサむトぞのリンクを衚瀺したす。実際には䜕もデプロむしなかったため、この゚ラヌがポップアップ衚瀺されたす。

この堎合、䜕もデプロむしおいないこずを説明する適切な゚ラヌが必ず必芁です。

問題ずは関係ありたせん通垞、環境レベルの切り替えは、同じプロゞェクト内の異なるホスティングサむトではなく、Firebaseプロゞェクトレベルに基づいお行う必芁がありたすただし、ブログ甚のサむト、Webアプリ甚のサむト、同じプロゞェクトの異なるホスティングサむトの同じ環境にあるドキュメントのサむトこれは䞻に、FirebaseAuthなどがプロゞェクト内にむンスタンスを1぀しか持っおいないためです。理想的にはfirebase.jsonファむルはfirebase use dev 、 firebase deployようなものができるように蚭定し、devをチェックしお、動䜜しおいるこずを確認したす、 firebase use staging 、 firebase deploy 、...

{ "firestore": { "rules": "firestore.rules", "indexes": "firestore.indexes.json" }, "hosting": { "public": "build", "ignore": [ "firebase.json", "**/.*", "**/node_modules/**" ], "rewrites": [ { "source": "**", "destination": "/index.html" } ] }, "functions": { "predeploy": [ "npm --prefix \"$RESOURCE_DIR\" run lint" ] } }

あなたが蚀及しおいる蚭定は、firebasejsonファむルではなくfirebasebashrcファむルにあるず思いたす。

firebase deploy --only hosting:devを機胜させるには、firebase.jsonファむルのホスティングセクションの䞋に"target": "dev"が必芁です。 --onlyフラグはフィルタヌのように機胜し、ホスティング構成にtargetフィヌルドがないず、CLIは䜕もデプロむしたせんこれは有甚なメッセヌゞを䌎う゚ラヌであるはずですが、今は盲目的に受け入れたすそれ。

申し蚳ありたせんが、jsonのどこにタヌゲットフィヌルドを配眮するかが明確ではありたせん。これをjsonのルヌトに配眮するか機胜したせんでした、ホスティングのルヌトに配眮する必芁がありたすこれも機胜したせんでした。

たた、私のfirebasercファむルは私のルヌトプロゞェクトを参照しおいたすが、私の2番目のホスティングサむトぞの参照がないため、CLIツヌルがどこにデプロむするかをどのように理解できるかわかりたせん。

firebase.jsonファむルのホスティングセクションに配眮しお、次のように衚瀺する必芁がありたす。

{
// ...
  "hosting": [{ // Can be an array and have multiple configs, or an object if you've only got a single config
    "target": "blog",
    "public": "build/blog"
    // ...
  }],
// ...
}

このドキュメントペヌゞでは、各ステップに぀いおさらに詳しく説明し、タヌゲットず耇数のサむトを䜿甚する理由に぀いおも少し説明しおいたす。

firebase target:apply hosting dev firebase-hosting-id堎合、 firebase-hosting-idは展開先のサむト名になりたす。 これにより、珟圚CLIで実行しおいるプロゞェクトに、 firebase useコマンドからのタヌゲットが蚭定されたす。 しかし、倚分私はあなたが達成しようずしおいるこずを誀解したした。

おかげで、私はいく぀かの前進をしおいるようですが、今は404゚ラヌ゚ンティティが芋぀かりたせん。
぀たり、firebaseでの私のプロゞェクトはreedy-1であり、タヌゲットはreedy-1-apiであるずしたす。
ホスティングにタヌゲットをreedy-1-apiずしお远加するず、タヌゲットをデプロむしようずするず、゚ンティティが芋぀からないず文句が衚瀺されたす。
私のfirebasercファむルのタヌゲットの䞋に衚瀺されたす

"targets": {
   "reedy-1": {
      "hosting": {
         "dev-api": [
           "reedy-1-api"
         ]
      }
   }
}

.firebasercファむルからのそのスニペットは私には正しいように芋えたす。

考えられる問題おそらくこれらをチェックしたしたが、他の人が埌でこれに遭遇した堎合に備えおリストしおいたす

  • firebase use適切なプロゞェクトを䜿甚しおいるこずを確認しおください
  • プロゞェクトIDが正しいこずを確認しおくださいこれはfirebase use --addのプロゞェクトリストから行う必芁がありたす
  • サむト名が正しいこずを確認しおください <site-name>.firebaseapp.com簡単に芋぀かりたす

デバッグフラグを䜿甚しおデプロむしようずするず、404を返す郚分はどれですか それは実際のホスティングデプロむの最初のリク゚ストであるため、 POST https://firebasehosting.googleapis.com/v1beta1/sites/<site-name>/versionsから来るのではないかず思いたす。 その堎合は、タヌゲットずしお蚭定したサむト名に問題があるず思いたす。 それ以前のリク゚ストの堎合、私の掚枬では、プロゞェクトに䜕か問題があるず思いたす。

さお、䜕が起こっおいるのかを理解するこずができたした。
これに぀いおもより良い゚ラヌメッセヌゞが必芁なので、炎䞊しおいない堎合、゚ラヌメッセヌゞは404であり、䟡栌プランのために展開できなかったこずは明らかではありたせん。
アップグレヌド埌、ブヌム、すべおが機胜しおいたす。
ご協力いただきありがずうございたす。この問題を解決させおいただきたす。

おっず、埅っお。 デプロむを機胜させるには、Blazeにアップグレヌドする必芁がありたしたか 新しいホスティングサむトをただ䜜成しおおらず、そのためにアップグレヌドする必芁があるため、これは䜕ですか それずも、以前にBlazeにアップグレヌドし、2぀目のホスティングサむトを䜜成し、課金プランをダりングレヌドしおから、展開しようずしたのでしょうか。

たた、どのリク゚ストがその゚ラヌをスロヌしおいたかを知っおいたすか あなたが正しいので、その゚ラヌはたったく圹に立ちたせん。䞀般的な404テキストの代わりに䜕をすべきかに぀いおのガむダンスを提䟛できるように、゚ラヌがどこから来たのかを远跡したいず思いたす。

そうです、少し玛らわしいですが、無料枠で2番目のサむトを䜜成したず確信しおいたす。その埌、展開に問題があり、それが原因である可胜性があるず考えたため、アップグレヌドしたした。 githubで問題を提起する必芁があるこずに気付いたずき、ダりングレヌドしたした。これを行うず、FirebaseWebコン゜ヌルで奇劙なこずが起こり始めたした。 2番目のホスティングWebサむトが衚瀺されたすが、クリックするず空の画面が衚瀺されたす。
サポヌトを受けた埌、デプロむしようずしたしたが、デプロむ時に404が衚瀺されたした。 だから私は炎にアップグレヌドしお戻すず思った、そしお魔法のようにそれは働いた。

同じ問題を抱えおいる

@isevcik本圓に 私はその問題を修正したこずをかなり確信しおいたしたそしお私は本圓にこれを閉じるべきでした。 プロゞェクトをアップグレヌドしおからダりングレヌドするずいう同様のこずをしたしたか

プロゞェクトの詳现を取埗しお修正できるように、サポヌトにメヌルを送信する必芁がありたす。 このGitHubの問題ず私に蚀及しお、誰に送信するかを知らせおください。

@isevcikこれず同じ゚ラヌが発生し、同じ問題が発生したず思いたしたが、.firebasercのprojectidのタむプミスであるこずが刀明したした。
手動で行うのではなく、このコマンドを䜿甚しおこれらのタヌゲットを远加したしたが、機胜したした。
泚タヌゲットをfirebase.jsonに远加する必芁もありたす。

firebase targetapply type target-name resource-name

https://firebase.google.com/docs/cli/targets

こんにちは、同じ問題

[debug] [2019-08-09T17:34:19.322Z] TypeError: Cannot read property 'deploys' of undefined
    at /Users/kevinliu/.npm-global/lib/node_modules/firebase-tools/lib/deploy/index.js:84:36
    at processTicksAndRejections (internal/process/task_queues.js:85:5)
[error] 
[error] Error: An unexpected error has occurred.

index.js 

   if (deployedHosting) {
            _.each(context.hosting.deploys, function (deploy) {
                logger.info(clc.bold("Hosting URL:"), utils.addSubdomain(api.hostingOrigin, deploy.site));
            });
            const versionNames = context.hosting.deploys.map((deploy) => deploy.version);
            return { hosting: versionNames.length === 1 ? versionNames[0] : versionNames };
        }

@hpoit私もその゚ラヌが発生しおいたす。 解決したしたか もしそうなら、あなたは䜕を倉えたしたか

[debug] [2019-08-16T18:44:01.159Z] TypeError: Cannot read property 'deploys' of undefined
    at C:\Users\Kraken\AppData\Roaming\npm\node_modules\firebase-tools\lib\deploy\index.js:84:36
    at process._tickCallback (internal/process/next_tick.js:68:7)
[error] 
[error] Error: An unexpected error has occurred.

@Memeriajが提案したように、サポヌトに連絡した人のためにこれは解決されたしたか もしそうなら、詳现は将来の参考のためにここに投皿できたすか

@MaxInertiaはい、解決したした。マシン党䜓をフォヌマットしお消去したした:-)

構成でデプロむタヌゲットが芋぀からない堎合に、この゚ラヌがスロヌされるだけだず思いたす。 2぀の蚭定Firebaseファむルで蚭定を確認したす。 セカンドオピニオンが必芁な堎合は、ここに内容を投皿しおください。

ここでも同じこずですが、firebase7.3.1でセカンダリりェブサむトをデプロむしようずした堎合

実際、firebase.jsonに゚ラヌがありたした。間違った「タヌゲット」を指定したした

このガむドを䜿甚しお新しいデプロむタヌゲットを䜜成するこずで、この問題を解決できたした。

https://firebase.google.com/docs/hosting/multisites?authuser=1#set_up_deploy_targets

1぀のコマンドを発行したした

firebase target:apply hosting blog myapp

firebase.json targetキヌを远加したした

{
  "hosting": {
    "target": "myapp",
    ...
  }
  ...
}

線集新しいFirebaseプロゞェクトで最初のホスティングを蚭定したずきに、この問題に螏み蟌みたした。

私もそれを解決するこずができたした。 私の問題は、ドキュメントで抂説されおいるコマンドを䜿甚しおデプロむタヌゲットを䜜成したずきに、$ firebase targetapply hosting target-name resource-nameで、メむンプロゞェクトをリ゜ヌス名ずしお配眮しおいたこずでした。 .firebasercファむルでこれを倉曎し、firebase deployコマンドを実行するず、機胜したした。 以䞋の䟋

"targets": {
    "firebase-project-name": {
      "hosting": {
        "admin": [
          "admin-project"
        ]
      }
    }
  }

こんにちは、同じ問題に少し異なる方法で盎面しおいたすカスタム远加ドメむンの堎合

タヌゲット名が異なる耇数のホスティングにデプロむできたす。 しかし、カスタムで远加したドメむンにデプロむしようずするず。 ゚ラヌが発生したすHTTP゚ラヌ404、芁求された゚ンティティが芋぀かりたせんでした。

私のカスタムドメむンは3dprinter.froozen.inです[カスタムドメむンの远加]ボタンをクリックしお、デフォルトのホスティング内のFirebaseに远加されたす
カスタムドメむンは、プロゞェクトのデフォルトドメむン内に远加されたす。
芪切に私がさらに進むのを手䌝っおください

助けるこずができるように正確な倱敗した呌び出しを瀺すデバッグログが必芁になりたす
問題を蚺断したす。

土、2020幎1月4日には、1252 AMのnandhaの[email protected]は曞きたした

こんにちは、同じ問題に少し異なる方法で盎面しおいたすカスタム甚
远加されたドメむン

タヌゲット名が異なる耇数のホスティングにデプロむできたす。 だが
カスタム远加ドメむンにデプロむしようずしたずき。 ゚ラヌが発生したすHTTP゚ラヌ404、リク゚ストされた゚ンティティが芋぀かりたせんでした。

私のカスタムドメむンは3dprinter.froozen.inです内郚のfirebaseに远加されおいたす
[カスタムドメむンの远加]ボタンをクリックしおデフォルトのホスティング
カスタムドメむンは、プロゞェクトのデフォルトドメむン内に远加されたす。
芪切に私がさらに進むのを手䌝っおください

—
このスレッドにサブスクラむブしおいるため、これを受け取っおいたす。
このメヌルに盎接返信し、GitHubで衚瀺しおください
https://github.com/firebase/firebase-tools/issues/1232?email_source=notifications&email_token=AAAAH7SNCPUEIMIWCDHK6CDQ4BE4JA5CNFSM4HJWK5J2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5
たたは賌読を解陀する
https://github.com/notifications/unsubscribe-auth/AAAAH7V26G3YF6Q7FYDP5QTQ4BE4JANCNFSM4HJWK5JQ
。

こんにちは@mbleigh 、

問題を解決したした

  1. ドメむンが完党にリンクされおいたせんでした
  2. ホスティングのFirebase.jsonがドキュメントに埓っお倉曎されたした
    䞡方が完了するず、期埅どおりに正垞に機胜したした

これ以䞊ク゚リがない堎合は、この問題を解決できたす
ご䞍明な点がございたしたら、以䞋にコメントしおください

「゚ラヌHTTP゚ラヌ404、芁求された゚ンティティが芋぀かりたせんでした」に関する問題を䜿甚しようずしたした

`` `
「タヌゲット」{
"プロゞェクト名"{
「ホスティング」{
"dev"[
「dev.site.com」
]、
「補品」[
「site.com」
]
}
}
}


istead of

 ```
"targets": {
    "projectname": {
      "hosting": {
        "dev": [
          "dev-site-name"
        ],
        "prod": [
          "ez-site-name"
        ]
      }
    }
  }

私は次のこずを確認しお解決したした。

  1. .firebasercにはtargets.<PROJECT_ID>.hosting.<TARGET_NAME> = [ "<HOST_ID" ]
{
  "projects": {
    "default": "my-project-id"
  },
  "targets": {
    "my-project-id": {
      "hosting": {
        "my-blog": [
          "my-blog-host-id"
        ]
      }
    }
  }
}

targets郚分は、コマンドfirebase target:apply hosting my-blog my-blog-host-idを䜿甚しお生成できたす。

  1. firebase.jsonには配列ずしおhosting必芁であり、そのアむテムにはtarget: <TARGET_NAME>
{
  "hosting": [{
    "target": "my-blog",
    "public": "public",
    "ignore": [
      "firebase.json",
      "**/.*",
      "**/node_modules/**"
    ],
    "rewrites": [
      {
        "source": "**",
        "destination": "/index.html"
      }
    ]
  }]
}

重芁なのは、 hostingを配列にしお、そのアむテムにtargetを远加するこずです。

今日もこれに芋舞われたした。firebase.json hostingを配列に倉換するのは本圓に苊痛です

ここで、すべおの環境に察しお倚くのヘッダヌ構成を持぀すべおの゚ントリを耇補する必芁がありたすタヌゲットを陀いお同じであっおも。突然、管理する必芁がある4xjson構成になりたす。

ずにかく、firebase jsonのデフォルトのホスティングを再利甚したすか

同じプロゞェクト内の耇数のサむトを「環境」ずしお䜿甚するこずは意図されおいたせん。「ステヌゞング」、「開発」などのサむトがある堎合、それらはfirebase useコマンドが圹立ちたす。個別に切り替え/デプロむしたす。

それがあなたがしおいるこずではない堎合、プロゞェクト内の各サむトのfirebase.jsonが同䞀である理由を理解するのを手䌝っおもらえたすか

芁玄するず、珟圚、さたざたなGCPプロゞェクトに4぀の異なる環境がありたすが、䞀時的な環境Firebaseホスティングだけでなく他の郚分を含むをデプロむする必芁があり、既存の環境を再利甚する方がはるかに簡単だず感じたした新しいものを远加するのではなく、1〜2か月のGCPプロゞェクト。

このatmを実珟する唯䞀の方法は、firebase.jsonホスティング構成を5回耇補し、各構成に䞀意のタヌゲットを远加するこずです。

混乱の原因は、デフォルトのホスティング構成がある堎合、どのタヌゲットたたはプロゞェクトでも機胜するこずが期埅されるこずだず思いたすが、プロゞェクト+タヌゲットず比范しお、さたざたなプロゞェクトでどのように䜿甚されるかに぀いおの私の誀解だず思いたす。

明らかにそれでも機胜させるこずができたすが、この゚ラヌが衚瀺された理由を理解するのに少し時間がかかりたした。
2020-06-22T17:20:39.837Z] TypeError: Cannot read property 'deploys' of undefined

゚ラヌメッセヌゞはどちらの方法でも間違いなく悪いです、そしおFWIWは珟圚開発䞭の「゚フェメラルプレビュヌ」のためのより良い解決策を持っおいたす😄

「アレむ修正」に远加するために、2぀のサむトがデプロむされおいたす。タヌゲットをアレむに倉曎した埌、正しいサむトをタヌゲットにするこずができたした。

{ "hosting": [ { "target": "web", "public": "public", "ignore": ["firebase.json", "**/.*", "**/node_modules/**"], "rewrites": [ { "source": "**", "destination": "/index.html" } ] }, { "target": "admin", "public": "build", "ignore": ["firebase.json", "**/.*", "**/node_modules/**"], "rewrites": [ { "source": "**", "destination": "/index.html" } ] } ] }

しかし、Reactを䜿甚しおいるため、「admin」は空癜のペヌゞを返したした。トリックは、パブリックポむントをビルドするこずでした。
"public": "build",

私はこの問題に遭遇しおいたす、そしおすべおが䞊蚘ずドキュメントに埓っお正しいです。 それでも゚ラヌが発生したす。 どのタヌゲットを䜿甚しおも、すべおのファむルず蚭定が正しいず報告されおいおも、それを尊重しおいないようです。 䞊蚘でカバヌされおいないものは他にありたすか

  1. 実行 firebase target:apply hosting second-project-id second-project-id

  2. 次に、.firebasercファむルを開き、次のようになっおいるこずを確認したす
    `{
    「タヌゲット」{

    "main-project-id"{
    「ホスティング」{
    "second-project-id"[
    「second-project-id」
    ]
    }
    }
    }
    } `

  3. 次に、firebase.jsonファむルを開き、次のファむルがあるこずを確認したす
    "タヌゲット" "second-project-id"、

うヌん、それを機胜させるために䜕をしたのか正確にはわかりたせんが、珟圚はこの.firebasercたす

{
  "projects": {
    "default": "mainProjectId"
  },
  "targets": {
    "mainProjectId": {
      "hosting": {
        "production": [
          "mainProjectId"
        ],
        "staging": [
          "secondProjectId"
        ]
      }
    }
  }
}
このペヌゞは圹に立ちたしたか
0 / 5 - 0 評䟡