Solucionar problemas da Azion CLI
Corrija comandos da Azion CLI que param em uma pergunta, recusam um caminho ou uma flag, falham no build ou fazem o deploy de uma URL que ainda não responde.
Esta página lista os sintomas que você pode encontrar com a Azion CLI, cada um com a causa e a correção. As perguntas, os caminhos de configuração e o login vêm primeiro. Em seguida vêm o desenvolvimento local, os builds e os deploys, e depois os comandos de recursos.
Um comando para com EOF ou Failed to parse your response
Em um script ou em um job de CI, um comando para em uma pergunta e falha com uma linha como uma destas:
O comando pergunta um valor que você não passou, e a pergunta precisa de um terminal. Com a entrada padrão fechada, nada responde a ela.
- Passe o valor com a flag dele: a pergunta indica o valor. Passe-o com a flag do comando, como
--urlemazion warmupou--application-idemazion list cache-setting. - Adicione
-ypara as perguntas sim/não:-yresponde sim a todas as perguntas que terminam em(Y/n)ou(y/N). Sem um terminal, uma pergunta(Y/n)recebe sim mesmo sem-y. Para o efeito sobre os perfis, consulte Perguntas e confirmações. - Execute os seletores em um terminal:
azion initsempre pergunta o preset e o template em seletores, e nenhuma flag os define. Para todas as perguntas que ele faz, consulte Azion CLI init. - Salve um token em vez de fazer login: sem um terminal,
azion loginfalha comError: Failed to get profile name. Em automações, passe um personal token com a opção global--token.
Com todos os valores passados como flags, o comando é executado até o resultado sem nenhuma pergunta.
Um comando recusa o caminho de configuração
Um comando com -c ou --config falha antes de ser executado:
--config recebe um caminho que termina em .toml, não uma pasta. A CLI usa a pasta que contém esse caminho como pasta de configuração.
- Aponte para um caminho .toml no nível superior da pasta: passe
<config-folder>/settings.toml. O arquivo não precisa existir. - Deixe as pastas de perfil fora do caminho: com
<config-folder>/default/settings.toml, a CLI consideradefaulta pasta de configuração. Ela cria um perfil vazio ali e informa que você não está logado.
Este comando lê a conta de outra pasta de configuração:
O comando imprime a conta do perfil ativo nessa pasta:
Para mais informações, consulte Config.
Um comando falha com You must be logged in
Um comando falha e pede que você faça login:
A configuração que o comando lê não contém nenhuma conta. azion reset apaga o token, o client ID e o email. Um caminho de --config que termina no settings.toml de um perfil também cria um perfil vazio. Em uma configuração apagada, a pergunta sobre dados anônimos vem antes do erro.
- Faça login: execute
azion logine escolha um método de login. Para os métodos, consulte Azion CLI login. - Salve um personal token: passe
--tokencom qualquer comando. A CLI salva o token nosettings.tomldo perfil, e todos os comandos seguintes o usam. Para um exemplo, consulte Opções globais da Azion CLI. - Verifique o caminho de configuração: aponte
--configpara o nível superior da pasta de configuração, como Um comando recusa o caminho de configuração explica.
Em seguida, azion whoami imprime o client ID, o email e o perfil ativo da sua conta.
azion link falha com Invalid build preset name
azion link --preset static grava os arquivos do projeto e depois falha com Error: exit status 1. Com --debug, a saída indica a causa:
static não é um nome de preset. O preset de um site de arquivos HTML simples é html.
- Remova o que o comando com falha gravou: ele deixa as pastas
azion,.edgee.githube um arquivo.gitignorena pasta do projeto. Exclua-os antes de vincular o projeto de novo. - Use o preset html: o preset
htmlserve os arquivos da pastawwwdo projeto. Os arquivos na raiz do projeto não são enviados, então mova-os parawww. - Verifique os nomes dos presets:
azion list presetsimprime os presets queazion linkeazion buildrecebem. Para a lista, consulte Azion CLI presets.
Este comando vincula a pasta atual como um site HTML, sem as perguntas:
O comando configura o projeto e lembra você de fazer o build dele:
O projeto fica vinculado com o preset html, e azion build e azion deploy o leem.
azion dev falha porque a porta 3333 está em uso
azion dev falha com Port 3333 is in use depois que um azion dev anterior na mesma máquina foi interrompido.
azion dev executa o servidor de desenvolvimento em um processo filho, node .../azbundler dev. Interromper somente o processo azion deixa esse processo filho escutando na porta 3333.
- Interrompa o grupo de processos inteiro: interrompa o
azion devanterior junto com o processo filho dele. Interromper o grupo de processos libera a porta. - Sirva em outra porta:
azion dev --port 4444serve o projeto na porta 4444. Para a saída, consulte Servir um site estático em outra porta.
O novo servidor imprime Function running on port 0.0.0.0:3333, url: http://localhost:3333, com a porta que você passou no lugar de 3333.
azion build pede para instalar as dependências com pnpm
azion build em um projeto de framework falha na primeira etapa:
As dependências do projeto não estão instaladas. Isso acontece quando azion init para antes da pergunta sobre as dependências, como com um template que primeiro pede uma credencial de outro serviço. Por exemplo, o template Cosmic - Agency Website do preset Next pede o slug de um bucket do Cosmic.
- Escolha um template boilerplate: no seletor de templates de
azion init, selecione um boilerplate, como Next JS Static Boilerplate (14.1.4). Com-y,azion initinstala as dependências dele. - Instale as dependências você mesmo: instale as dependências do projeto com pnpm, como a mensagem pede, e execute
azion buildde novo.
O build termina com Your Application was built successfully.
Um build de framework para na pergunta do próprio framework
Um comando de um projeto de framework aguarda uma pergunta das ferramentas do framework ou falha sem um terminal:
Algumas ferramentas de framework fazem as suas próprias perguntas durante o build ou a instalação das dependências. Sem um terminal, nada responde a elas, e -y não responde à pergunta do Nuxt.
- Responda à pergunta sobre open-next.config.ts em um terminal: com o preset OpenNextJS,
azion buildperguntaMissing required open-next.config.ts file, do you want to create one? (Y/n). Execute o build em um terminal e responda sim. O build cria o arquivo e é concluído. - Responda à pergunta de telemetria do Nuxt em um terminal: com o preset Nuxt, a instalação das dependências de
azion initperguntaAre you interested in participating?sobre os dados de uso do Nuxt. Executeazion initem um terminal e responda à pergunta.
O comando passa da pergunta, e o build termina com Your Application was built successfully.
A URL do deploy responde There’s nothing here yet
Depois de azion deploy, o domínio que o comando imprime responde 404 com uma página intitulada There's nothing here yet.
O deploy ainda não chegou a todas as localidades. O primeiro deploy pode levar vários minutos para responder em todas as localidades; os deploys seguintes levam cerca de dois minutos.
- Aguarde e tente de novo: faça uma nova requisição ao domínio depois de alguns minutos, antes de diagnosticar o deploy. Uma localidade pode responder
200enquanto outra ainda responde404. - Acompanhe o deploy no Azion Console: um deploy remoto imprime uma linha que começa com
Please visit https://console.azion.com/create/deploy/. Quando o navegador não abrir, abra esse link para acompanhar o deploy.
O domínio responde 200 com o seu conteúdo. Para a saída do deploy, consulte Azion CLI deploy.
Uma exclusão remove mais do que a aplicação
azion delete application imprime Cascade deleting resources e exclui outros recursos do projeto junto com a aplicação.
Qualquer flag --cascade ativa a exclusão em cascata, inclusive --cascade=false. A exclusão em cascata exclui os recursos que o azion/azion.json do diretório atual lista.
Em uma pasta de projeto, este comando exclui o workload, a aplicação e a function que o azion/azion.json lista:
O comando indica cada recurso que exclui:
Fora de uma pasta de projeto, a mesma linha é seguida de Error: Failed to open the azion.json file, e o comando mantém a aplicação.
Para excluir somente a aplicação, execute azion delete application --application-id <application-id> sem nenhuma flag --cascade. Para as flags, consulte Azion CLI application.
O comando imprime Application <application-id> was successfully deleted, e o connector e o bucket do projeto continuam existindo.
Uma atualização informa sucesso e o valor não muda
azion update dns-zone --active false imprime DNS zone <zone-id> was updated, mas a zona continua ativa.
--active em dns-zone e --enabled em dnssec são booleanas: o --help as imprime sem tipo. Uma flag booleana recebe o valor depois de um sinal de igual. Com um espaço, o comando mantém o valor sem mudança.
Para desativar a zona DNS, escreva o valor depois de um sinal de igual:
Em seguida, azion describe dns-zone --zone-id <zone-id> --format json informa "active": false. Para mais informações, consulte Flags booleanas.
Um exemplo do help falha com unknown flag
Um exemplo copiado do --help falha antes de ser executado:
O exemplo usa uma flag que o comando não aceita. O --help lista as flags do comando em LOCAL OPTIONS.
- Use as flags da tabela do comando: cada página de recurso lista as flags de todos os comandos. Para as páginas, consulte Comandos de recursos.
- Atualize a partir de um arquivo JSON com --file: passe o arquivo com
--filee o ID com a flag dele. Algumas atualizações não leem o ID do arquivo. Para o formato do arquivo, consulte Azion CLI function.
Este comando atualiza a function com ID 12370 a partir de um arquivo JSON:
O comando imprime Updated function with ID 12370, e a function mantém os campos que o arquivo omite.