Firebase-tools: Mensagem de erro de implantação do Firebase com um firebase.json vazio

Criado em 7 jun. 2017  ·  32Comentários  ·  Fonte: firebase/firebase-tools

Eu estava fazendo um pouco de mesclagem de projetos hoje e me deparei com um erro com o comando firebase deploy.

Eu acidentalmente deixei meu firebase.json com o conteúdo como:
{}

E estava tentando implantar com firebase deploy --only database mas estava recebendo o seguinte erro:
Error: No targets found. Valid targets are: database,storage,functions,hosting

Demorei um pouco para descobrir, pois pensei que isso estava relacionado aos problemas recentes do nodejs v8 + o fato de estar implantando com êxito vários projetos nos últimos 6 meses (regras e um projeto de funções separado que tinha o arquivo firebase. json) até agora.

Se o erro sugerisse olhar para o meu firebase.json, teria ajudado 👍

Comentários muito úteis

Vim aqui para abrir um problema parecido com este.

IMO, seria melhor pré-preencher o firebase com as opções padrão. Escolhi que queria usar apenas a hospedagem que o firebase.json deveria ter sido criado com a opção de hospedagem padrão.

{
  "hosting": {
    "public": "public"
  }
}

Todos 32 comentários

Vim aqui para abrir um problema parecido com este.

IMO, seria melhor pré-preencher o firebase com as opções padrão. Escolhi que queria usar apenas a hospedagem que o firebase.json deveria ter sido criado com a opção de hospedagem padrão.

{
  "hosting": {
    "public": "public"
  }
}

Obrigado pelo feedback @ahaverty ! Concordo que a mensagem de erro poderia ser um pouco mais descritiva. É um pouco difícil, pois o mesmo erro também ocorre se alguém digitou incorretamente os nomes de destino ao usar o sinalizador --only (por exemplo, se alguém executou "firebase serve --only functions:funcA" e eles não têm uma função chamada funcA) . O que você acha de uma mensagem de erro como a seguinte?

Erro: não é possível entender quais destinos implantar. Verifique se você especificou destinos válidos se usou o sinalizador --only ou --except. Caso contrário, verifique seu firebase.json para garantir que seu projeto seja inicializado para os recursos desejados.

@pedrosnk "

@laurenzlong Isso soa perfeito em ambos os casos 👌

Antes de mais obrigado pela resposta :)

Eu descobri o que aconteceu comigo. talvez seja a mesma coisa que aconteceu com @ahaverty.

Digitei $ firebase init e não selecionei a opção de hospedagem pressionando o espaço. Fui até ela e apertei a tecla enter. (não li a mensagem completa no CLI).

Foi inteiramente meu erro, mas senti que esse erro poderia ser evitado. Talvez se eu pressionar enter em um recurso, o cli deve ser capaz de selecioná-lo para mim automaticamente. em vez de gerar um arquivo firebase.json vazio.

obrigado novamente por este projeto.

Contexto no meu caso de uso: estou envolvendo nossos comandos de implantação do Firebase em scripts bash com algumas verificações "Tem certeza?🤔", pois estou com medo de um dia atingir nosso projeto de produção com algum código Dev maluco, depois de não corretamente correndo firebase use devproject ! Eu também estou gerando o firebase.json através do script, mas estava fazendo uma fusão de regras.bolt no meu repositório de funções, e acabei acertando isso. @pedrosnk Acho que sua sugestão quebraria meus scripts, mas a mensagem de erro @laurenzlong é uma boa correção👌

Concordar que a melhor mensagem de erro neste caso é boa o suficiente

Concordo com @pedrosnk, o arquivo deve ser pré-preenchido com algumas opções padrão, como:

{
    "hosting": {
        "public": "public",
        "rewrites": [
            {
                "source": "**",
                "destination": "/index.html"
            }
        ],
    }
}

Afinal, todo mundo está usando um SPA com Firebase Hosting.

Acabei de enviar um PR para corrigir a mensagem de erro. @pedrosnk e @PierBover what if "firebase init" não iria deixá-lo progredir se você não selecionou nenhum características? Não podemos realmente preencher a hospedagem por padrão, pois algumas pessoas não a usam (por exemplo, se tiverem um aplicativo móvel e estiverem usando funções).

Ei @laurenzlong eu selecionei hosting ao fazer firebase init e recebi um arquivo vazio.

@PierBover isso é um bug então. Quando faço 'firebase init' e seleciono hosting, recebo isso no meu firbase.json:

{
  "hosting": {
    "public": "public",
    "ignore": [
      "firebase.json",
      "**/.*",
      "**/node_modules/**"
    ]
  }
}

Você poderia tentar reproduzir o bug? E se você pode reproduzi-lo, então arquivar outro problema? (Inclua a versão CLI, plataforma que você está executando.)

Além disso, você seleciona um recurso pressionando espaço (o círculo fica preenchido). Se você selecionou, você será guiado por algumas perguntas relacionadas à hospedagem (O que você deseja usar como seu diretório público? Configure como um aplicativo de página única (reescreva todos os URLs para /index.html)?)

Você está certo, eu provavelmente apertei enter em vez de espaço. Foi mal.

Sem problemas!

Desculpe, sou um novato e esta é a discussão mais próxima do erro que estou vendo. No init do firebase, escolhi as funções de nuvem e obtive um firebase.json vazio com chaves. Agora a implantação me dá "não consigo entender quais alvos implantar". O uso de hospedagem é um pré-requisito para usar funções de nuvem?

Ei, @himanshugarg, não consigo reproduzir seu bug, você deve conseguir implantar depois de inicializar as funções. Você poderia registrar um problema separado e seguir o modelo de problemas para que possamos capturar mais detalhes?

Obrigada! @pedrosnk

@laurenzlong obrigado por verificar. Foi minha culpa. Eu havia movido apenas alguns dos arquivos do Firebase para outro diretório, causando isso. Fazer uma inicialização limpa funcionou bem. https://stackoverflow.com/questions/45935600/firebase-cannot-understand-what-targets-to-deploy

Na CLI init do firebase, quem vê colchetes ( ) pode pensar que imita o botão de opção, então escolhe uma opção e pressiona Enter. Sugiro colchetes [ ] que sugerem múltipla escolha (caixas de seleção).

Eu também tinha um arquivo firebase.json vazio porque pressionei Enter e perdi o espaço.
Não li as instruções porque sabia que precisava escolher a opção "Hospedagem".

"ignore": [
  "firebase.json",
  "**/.*",
  "**/node_modules/**"
]

// Evite o etra ',' após o colchete sqr, a menos que você tenha um argumento para ir lá

Eu também pressionei enter em vez de espaço. Eu acho que não é um problema funcional, mas é de fato um problema de usabilidade

@lelong88 Eu

O firebase está procurando por padrão na pasta 'public' pelo arquivo 'index.html'.

se em angular4 por exemplo o 'index.html' existir na pasta 'dist' você tem que entrar em 'firebase.json' e colar lá:

{
"hospedagem": {
"público": "dist"
}
}

isso é direcionar o firebase para procurar por 'index.html' na pasta 'dist' ou qualquer outra chamada de pasta em vez de 'public'.
de núcleos você tem que seu arquivo chama 'index.html'.

depois disso:

firebase deploy

provavelmente vai funcionar

funcionou para mim!

Espaço para selecionar recursos? Você esta drogado?

ahahahah uso de um espaço? RINDO MUITO.
Ok, eu entendo porque eu tenho um arquivo vazio agora. ¯_(ツ)_/¯

[depurar] [2018-06-03T15:18:34.367Z] ----------------------------------- -----------------------------------
[debug] [2018-06-03T15:18:34.371Z] Comando: C:\Program Files\nodejs\node.exe C:\Users\pushpendraPC\AppData\Roaming\npm\node_modules\firebase-toolsbinfirebase init MyAssignMent
[depurar] [2018-06-03T15:18:34.371Z] Versão CLI: 3.18.5
[depurar] [2018-06-03T15:18:34.371Z] Plataforma: win32
[depurar] [2018-06-03T15:18:34.372Z] Versão do nó: v10.3.0
[depurar] [2018-06-03T15:18:34.373Z] Horário: Dom 03 de junho de 2018 20:48:34 GMT+0530 (Horário Padrão da Índia)
[depurar] [2018-06-03T15:18:34.373Z] ----------------------------------- -----------------------------------
[depurar]
[debug] [2018-06-03T15:18:34.388Z] > comando requer escopos: ["email","openid","https://www.googleapis.com/auth/cloudplatformprojects.readonly","https: //www.googleapis.com/auth/firebase"]
[depurar] [2018-06-03T15:18:34.389Z] > autorizando via usuário conectado
[informações]
######## #### ######## ################## ########### ###
## ## ## ## ## ## ## ## ## ## ##
###### ########################################## #
## ## ## ## ## ## ## ## ## ## ##
## #### ## ## ######## ######## ## ## ###### ########

Você está prestes a inicializar um projeto do Firebase neste diretório:

C:\Users\pushpendraPC\Desktop\project\NewAsignMentDeploy\AssignMent\src

Antes de começarmos, lembre-se:

  • Você está inicializando em um diretório de projeto existente do Firebase

[informações]
=== Configuração do projeto
[informações]
[info] Primeiro, vamos associar este diretório de projeto a um projeto do Firebase.
[info] Você pode criar vários aliases de projeto executando firebase use --add,
[info] mas por enquanto vamos apenas configurar um projeto padrão.
[informações]
[debug] [2018-06-03T15:18:36.584Z] >>> HTTP REQUEST GET https://admin.firebase.com/v1/projects

Dom 03 de junho de 2018 20:48:36 GMT+0530 (Horário Padrão da Índia)
[depurar] [2018-06-03T15:18:38.115Z] <<< RESPOSTA HTTP 200
[info] i .firebaserc já tem um projeto padrão, pulando
[informações]
=== Configuração de minha atribuição
[debug] [2018-06-03T15:18:38.543Z] TypeError: features[nextFeature] não é uma função
no init (C:\Users\pushpendraPC\AppData\Roaming\npm\node_modules\firebase-toolslib\init\index.js:13:49)
em C:\Users\pushpendraPC\AppData\Roaming\npm\node_modules\firebase-toolslib\init\index.js:14:14
em process._tickCallback (interno/processo/next_tick.js:68:7)
[erro]
[erro] Erro: Ocorreu um erro inesperado.

mostrar erro quando executo cmd firebase init

Oi,
Abaixo estava um erro no navegador.

Página não encontrada
Este arquivo não existe e não foi encontrado index.html no diretório atual ou 404.html no diretório raiz.

Porque estou vendo isso?
Você pode ter implantado o diretório errado para seu aplicativo. Verifique seu firebase.json e certifique-se de que o diretório público esteja apontando para um diretório que contenha um arquivo index.html.

Você também pode adicionar um 404.html na raiz do seu site para substituir esta página por uma página de erro personalizada.

* * * * * Linha de Comando * * * * * *
implantação do firebase

=== Implantando em 'organicshop-18573'...

estou implantando hospedagem
i hosting: preparando o diretório dist para upload...
⚠ Aviso: o diretório público não contém index.html
✔ hospedagem: 7 arquivos carregados com sucesso

✔ Implantação concluída!
* * * * Firebase.Json * * * * * **

{
"hospedagem": {
"público": "dist",
"ignorar": [
"firebase.json",
" /. "," /node_modules/ "],"reescreve": [{"fonte": " ",
"destino": "/index.html"
}
]
}
}
* * Estrutura de Pastas * * **
Na pasta dist eu tinha index.html. Mas quando tento implantar está mostrando como "O arquivo não existe e não havia index.html.

digite ng build e digite firebase deploy

firebase ruim

Esta questão original parece ser abordada. Como não houve nenhuma atividade recente, vou encerrar isso.

Se alguém tiver problemas adicionais com firebase.json , abra um novo problema com as informações apropriadas!

Eu segui as soluções fornecidas, mas elas não resolveram meu problema.

página não busca os dados, está em branco, mas o ícone fav é carregado. que frio é o problema

Esta página foi útil?
0 / 5 - 0 avaliações