Troubleshooting pub
Common gotchas you might run into when using pub.
Obtendo um erro "403" ao publicar um pacote
#Você recebe o seguinte erro ao executar pub publish:
HTTP error 403: Forbidden
...
You aren't an uploader for package '<foo>'
Este problema pode ocorrer se uma de suas contas recebeu permissão para publicar um pacote, mas o cliente pub registra você com outra conta.
Você pode redefinir o processo de autenticação do pub excluindo o arquivo de credenciais do pub:
Linux
#Se $XDG_CONFIG_HOME estiver definido:
rm $XDG_CONFIG_HOME/dart/pub-credentials.json
Caso contrário:
rm $HOME/.config/dart/pub-credentials.json
macOS
#rm $HOME/Library/Application Support/dart/pub-credentials.json
Windows
#Se você estiver usando o Command Prompt:
$ del "%APPDATA%\dart\pub-credentials.json"
Se você estiver usando o PowerShell:
$ Remove-Item -Path "%APPDATA%\dart\pub-credentials.json"
Obtendo um erro "UnauthorizedAccess" ao publicar um pacote
#Você recebe o seguinte erro ao executar pub publish:
UnauthorizedAccess: Unauthorized user: <username> is not allowed to upload versions to package '<foo>'.
Você verá esta mensagem se não estiver na lista de pessoas autorizadas a publicar novas versões de um pacote. Veja Uploaders.
Pub build falha com erro HttpException
#
Você recebe um erro HttpException semelhante ao seguinte ao
executar pub build:
Pub build failed, [1] IsolateSpawnException: 'HttpException: Connection closed while receiving data,
...
library handler failed
...
Isso pode acontecer como resultado de alguns softwares antivírus, como o pacote de segurança para internet AVG 2013. Verifique o manual do seu pacote de segurança para ver como desabilitar temporariamente este recurso. Por exemplo, veja How to Disable AVG Components.
Pub get falha atrás de um firewall corporativo
#
Da linha de comando, o pub respeita as variáveis de ambiente
http_proxy e https_proxy.
Você pode definir a variável de ambiente do servidor proxy da seguinte forma.
No Linux/macOS:
export https_proxy=hostname:port
No Windows Command Prompt:
$ set https_proxy=hostname:port
No Windows PowerShell:
$ $Env:https_proxy="hostname:port"
Se o proxy requer credenciais, você pode defini-las da seguinte forma.
No Linux/macOS:
export https_proxy=username:password@hostname:port
No Windows Command Prompt:
$ set https_proxy=username:password@hostname:port
No Windows PowerShell:
$ $Env:https_proxy="username:password@hostname:port"
Localhost inacessível após o login
#
Quando você executa dart pub publish em um contêiner ou em uma sessão SSH,
o localhost no qual dart pub está escutando pode ser diferente do
localhost que está acessível no seu navegador.
Embora você possa fazer login usando o navegador,
o navegador então reclama que http://localhost:<port>?code=...
não está acessível.
Tente esta solução alternativa, que usa a linha de comando para concluir o login:
Em uma janela de terminal, execute
dart pub publish.-
Na janela do navegador que aparece, faça login.
O navegador é redirecionado para uma nova URL localhost (http://localhost:<port>?code=...) mas reclama que a URL não está acessível. Copie a nova URL localhost do navegador.
-
Em outra janela de terminal no mesmo contêiner ou no mesmo host onde
dart pub publishfoi chamado, use o comandocurlpara concluir o login usando a nova URL localhost:curl 'http://localhost:<port>?code=...'
Obtendo um erro de socket ao tentar encontrar um pacote
#
O seguinte erro pode ocorrer se
você não tiver acesso à internet, seu provedor de internet estiver bloqueando pub.dev,
ou um software de segurança estiver bloqueando o acesso à internet do dart.
Got socket error trying to find package ... at https://pub.dev.
pub get failed (server unavailable) -- attempting retry 1 in 1 second...
Verifique sua conexão com a internet e
confirme que você não tem um firewall ou outro software de segurança
que bloqueia o acesso à internet do dart.
Instruções detalhadas para o Kaspersky Internet Security
Quando você desativa a proteção do Kaspersky Internet Security
na barra de menu,
o filtro de aplicativo VPN sysextctrld
ainda é executado em segundo plano.
Este filtro causa uma falha ao conectar ao pub.dev.
Para resolver este problema,
adicione tanto https://pub.dev quanto https://pub.dartlang.org
à zona confiável:
- Abra o Kaspersky Internet Security.
- Clique no ícone Privacy.
- Na seção Block website tracking, clique no botão Preferences.
- Na barra de ícones superior, selecione Threats.
- Em Threats, clique em Trusted Zone.
- Selecione a aba Trusted web addresses.
- Clique no botão + e adicione a URL
https://pub.dev. - Clique em OK.
- Repita os dois passos anteriores para
https://pub.dartlang.org
Salvo indicação em contrário, a documentação neste site reflete Dart 3.13.7. Página atualizada pela última vez em 2026-11-12. Ver código-fonte ou relatar um problema.
Encontrou essa página sem tradução ou que precisa de correção? Abra uma issue e nos ajude a manter esse site em PT-BR para ajudar pessoas como você.