Gerenciador de pacotes Dart e Flutter \| TreinaWeb               Promoção no ar   Matricule-se agora e garanta **54% de desconto**  

  Termina em   Tempo restante da oferta: 14 Horas 

 51 Min 

 30 Seg 

   Tempo restante da oferta: 14 51 30 

  [Assinar →](https://www.treinaweb.com.br/checkout/pagamento/plano/anual?cupom=TW-SCLIENTE26) 

   [                ](https://www.treinaweb.com.br)  Explorar  

 [ Quanto custa? ](#assinatura) [ FAQ ](https://www.treinaweb.com.br#faq) [Matricule-se](#assinatura) [ Entrar ](https://www.treinaweb.com.br/login) 

     [ Início ](https://www.treinaweb.com.br) [ Artigos ](https://www.treinaweb.com.br/blog) Gerenciador de pacotes Dart e Flutter  [ Flutter ](https://www.treinaweb.com.br/blog/categoria/flutter) [ Dart ](https://www.treinaweb.com.br/blog/categoria/dart) 

# Gerenciador de pacotes Dart e Flutter

 Saiba o que é o gerenciador de pacotes Dart e Flutter, como utilizar um pacote, biblioteca instalada por ele e sobre o pubspec.yaml.

 [ Ariel Sardinha ](https://www.treinaweb.com.br/blog/autor/ariel-sardinha) 4 anos atrás

  ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2022/09/PUB-DEV.jpg)  

Durante o desenvolvimento de software é comum nos depararmos com certos problemas comuns, como, por exemplo, realizar a validação de um CPF, realizar requisições HTTP, conectar em um banco de dados, entre outras situações. Porém, não seria muito produtivo termos que implementar essas funcionalidades manualmente sempre que forem necessários, por isso, nas maioria das linguagens temos a possibilidade de usarmos pacotes feitos pela própria comunidade que resolvem esses problemas e para facilitar ainda mais no processo de gerenciamento desses pacotes, nós podemos utilizar ferramentas comumente chamadas de [gerenciadores de pacotes](https://www.treinaweb.com.br/blog/o-que-e-gerenciador-de-dependencias).

Gerenciadores de pacotes são ferramentas que automatizam o processo de instalação, atualização e remoção de pacotes necessários para o pleno funcionamento de um software.

Neste artigo, vamos conhecer o gerenciador de pacotes [pub](https://pub.dev/), o gerenciador de pacotes para projetos dos ecossistemas Dart e Flutter.

## O que é o pub

O pub é o gerenciador de pacotes utilizado para a linguagem de programação Dart, contendo bibliotecas e pacotes reutilizáveis para Flutter, AngularDart e programas Dart gerais.

É importante ressaltar que os comandos mostrados a seguir funcionam tanto para Dart quando Flutter. Então caso seu projeto seja um projeto Dart puro precisa executar `dart ...` caso seja um projeto Flutter precisa executar `flutter ... `.

## Onde encontrar os pacotes

No site [pub.dev](https://pub.dev/ "pub.dev") é possível encontrar todos os pacotes disponíveis para instalação.

Nele basta pesquisar pelo pacote desejado. No exemplo abaixo, vamos buscar pelo pacote “dio” (pacote para fazer requisições HTTP).

[!\[site2 pub.dev\](site2 pub.dev “site2 pub.dev”)](https://treinaweb-suporte.s3.sa-east-1.amazonaws.com/Ti01EclXHxww-Capturar.PNG "site2 pub.dev")

Ao selecionar o pacote desejado, será exibido uma página com toda a descrição do pacote (formas de instalação, documentação, versão, plataformas suportadas, etc.).

![pub.dev site](https://treinaweb-suporte.s3.sa-east-1.amazonaws.com/sdvFrbPOSeBa-Capturar.PNG)

## Como usar o gerenciador de pacotes Dart e Flutter

Para usar o gerenciador de pacotes Dart e Flutter, é muito simples. Primeiro temos que definir qual tipo de projeto vamos criar, seja Dart ou Futter.

Caso vier utilizar uma aplicação Dart você pode executar `dart create [nome_do_projeto]` ou no Flutter `flutter create [nome_do_projeto]`.

A estrutura de arquivos ficou da seguinte forma em uma aplicação Dart:

![Como usar o gerenciador de pacotes Dart e Flutter](https://treinaweb-suporte.s3.sa-east-1.amazonaws.com/I1yDGM3fJtzK-foto1.PNG "Como usar o gerenciador de pacotes Dart e Flutter")

Note que ele criou um arquivo chamado `pubspec.yaml`. Este arquivo é onde vai ficar definido as versões dos pacotes que estão sendo utilizadas no projeto.

[  ![Dart - Fundamentos](https://d2knvm16wkt3ia.cloudfront.net/assets/svg-icon/dart.svg)   Curso Dart - Fundamentos Conhecer o curso ](https://www.treinaweb.com.br/curso/dart-fundamentos)

## O que é Arquivo pubspec.yaml

Ao instalar pacotes em nossas aplicações, eles devem ficar listados de alguma forma para que outros desenvolvedores consigam efetuar novas instalações e/ou possam fazer novas alterações/atualizações. Para isso existe o arquivo `pubspec.yaml`

Nele também estão contidas informações como a versão Dart, nome, descrição, versão do projeto, etc.

![Arquivo pubspec.yaml](https://treinaweb-suporte.s3.sa-east-1.amazonaws.com/ZsDeS9CYtgNM-foto2.PNG "Arquivo pubspec.yaml")

É importante ressaltar que arquivos, como o pubspec, tem a extensão `.yaml` ele é um tipo de arquivo que considera a sua indentação.

Arquivos com a extensão `yaml` é um tipo de arquivo de serialização de dados legíveis por humanos, inspirado em linguagens como XML e Python.

Caso queira saber mais sobre YAML, falamos neste artigo: [O que é YAML?](https://www.treinaweb.com.br/blog/o-que-e-yaml "O que é YAML?")

## Instalando pacotes

Agora, para instalar um pacote no seu projeto utilizando o gerenciador de pacotes Dart e Flutter, basta executar o seguinte comando no terminal: `dart pub add [nome do pacote]` ou `flutter pub add [nome do pacote]`.

Por exemplo, para realizar a instalação do pacote dio (pacote para fazer requisições HTTP), basta executar o comando `dart pub add dio`.

Como resultado, o pub criou dentro da pasta `.dart_tool` no arquivo `package_config.json` um apontamento onde temos uma pasta relacionada ao pacote dio.

![Instalando pacotes](https://treinaweb-suporte.s3.sa-east-1.amazonaws.com/jmq7vZzWPrdF-foto3.PNG "Instalando pacotes")

Também irá criar no arquivo `pubspec.yaml` na parte de dependências o nome do pacote junto a versão.

![ arquivo pubspec.yaml com dio](https://treinaweb-suporte.s3.sa-east-1.amazonaws.com/WfKOfW9WbLU4-foto4.PNG "arquivo pubspec.yaml")

Note que o pacote foi instalado nas dependências de produção. Também existe a opção de instalar nas dependências de desenvolvimento utilizando a flag `--dev` como, por exemplo: `dart pub add lints --dev`.

## Como utilizar um pacote

Para utilizar o pacote em nosso projeto, é necessário importar o pacote no arquivo `.dart` onde vamos trabalhar com o mesmo, adicionando uma linha de código seguindo a seguinte estrutura:

```dart
import 'package:dio/dio.dart';
void main(List arguments) {
   final dio = Dio();
}

```

Ou caso queira jogar tudo que tem dentro de um pacote em uma variável para evitar conflito de algo ter o mesmo nome.

```dart
import 'package:dio/dio.dart' as packageDio;

void main(List arguments) {
  final dio = packageDio.Dio();
}

```

Desta forma a aplicação estará apta a utilizar o pacote externo instalado com o `pub`.

[  ![Flutter - Fundamentos](https://d2knvm16wkt3ia.cloudfront.net/assets/svg-icon/flutter.svg)   Curso Flutter - Fundamentos Conhecer o curso ](https://www.treinaweb.com.br/curso/flutter-fundamentos)

## Atualizando um pacote

Após adicionar um pacote, o Dart salva a versão encontrada no arquivo `pubspec.lock`. Isso garante que você obtenha a mesma versão novamente ou outro desenvolvedor em sua equipe ao executar o `pub get` (comando para baixar as dependências segundo o que está no `pubspec.yaml`).

Para atualizar um pacote com o gerenciador de pacotes Dart e Flutter basta utilizar o seguinte comando:

`dart pub upgrade`

O comando a cima irá atualizar todas as dependências.

É importante saber que existe possibilidade de adicionar flag e o nome de uma dependência específica seguindo o exemplo abaixo.

```sh
dart pub upgrade [options] [nome pacote]

```

Exemplo:

```sh
dart pub upgrade --major-versions dio

```

## Remover pacotes

Da mesma forma que temos como adicionar podemos, também, remover um pacote, basta utilizar o seguinte comando:

```sh
dart pub remove [nome do pacote]

```

Com o comando acima, o pacote será removido do projeto.

## Conclusão

Por fim, o `pub` conta com um vasto repositório de pacotes, frameworks e bibliotecas Dart e Flutter, permitindo a instalação e gerenciamento de pacotes internos e externos.

Neste artigo tivemos a introdução ao gerenciador de pacotes pub, caso queira aprender mais sobre os ecossistemas Dart e Flutter, saiba que aqui na [TreinaWeb](https://www.treinaweb.com.br/) nós temos a formação [Desenvolvedor Dart Flutter](https://www.treinaweb.com.br/formacao/desenvolvedor-dart-flutter) que possui **37h44 de vídeo** e um total de **152 exercícios**.

Veja quais são os cursos que fazem parte desta formação:

- Dart - Fundamentos
- Dart - Orientação a Objetos
- Dart - Gerenciador de dependências Pub
- Flutter - Fundamentos
- Flutter - Widgets de Layout
- Flutter - Widgets de interface
- Dart - Tópicos Avançados
- Flutter - Trabalhando com temas
- HTTP - Fundamentos para desenvolvedores
- APIs Rest - Fundamentos
- Flutter - Consumindo APIs Rest
- Flutter - Consumindo APIs com http
- Flutter - Consumindo APIs com dio
- Flutter - Conhecendo o GetX
- Flutter - Criando um Speed Dial
- Flutter UI - Cardápio de Restaurantes
- Flutter - Gerenciador de senhas
- Flutter - Gerenciador de gastos pessoais

- [ #dart ](https://www.treinaweb.com.br/blog/tag/dart)
- [ #flutter ](https://www.treinaweb.com.br/blog/tag/flutter)
- [ #Gerenciador de Dependências ](https://www.treinaweb.com.br/blog/tag/gerenciador-de-dependencias)
- [ #gerenciador de pacotes ](https://www.treinaweb.com.br/blog/tag/gerenciador-de-pacotes)
- [ #pub dev ](https://www.treinaweb.com.br/blog/tag/pub-dev)

Autor

 ![Ariel Sardinha](//secure.gravatar.com/avatar/d0b89ee09026eb2b9e26f286c04eba03?d=mm)

## Ariel Sardinha

 Professor e desenvolvedor. Formando em engenharia de software e Computação - Licenciatura. É autor de cursos em diversos temas, como, desenvolvimento front-end, Flutter, JavaScript, React,js e Vue.js. Nas horas vagas adora estudar sobre tecnologia, filmes e brincar com a pequena Maria Eduarda. [arielsardinha](https://www.linkedin.com/in/ariel-sardinha/) 

 [Todos os artigos](https://www.treinaweb.com.br/blog/autor/ariel-sardinha)  

## Continue estudando

 Transforme leitura em prática com os cursos e formações da TreinaWeb.

 [Ver cursos](https://www.treinaweb.com.br/cursos)   

  Continue lendo

## Artigos relacionados

- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2022/11/ARTIGO-DART-400x280.jpg)  [ Dart ](https://www.treinaweb.com.br/blog/categoria/dart) 

     4 anos atrás

    ##  [ Guia da linguagem dart ](https://www.treinaweb.com.br/blog/guia-da-linguagem-dart) 

     Nesse guia da linguagem Dart você aprenderá o necessário para criar os seus primeiros softwares com a linguagem de programação Dart.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2021/03/como-instalar-o-dart-e-executar-seu-primeiro-exemplo-400x280.png)  [ Dart ](https://www.treinaweb.com.br/blog/categoria/dart) 

     6 anos atrás

    ##  [ Como instalar o Dart e executar seu primeiro exemplo ](https://www.treinaweb.com.br/blog/como-instalar-o-dart-e-executar-seu-primeiro-exemplo) 

     Neste artigo veremos como instalar o Dart nos sistemas Windows, Linux e MacOS e executar nosso primeiro programa com a linguagem.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2020/04/22111207/FLUTTER-ANDROID-STUDIO-400x280.png)  [ Desenvolvimento Mobile ](https://www.treinaweb.com.br/blog/categoria/desenvolvimento-mobile) 

     7 anos atrás

    ##  [ Configurando ambiente de desenvolvimento Flutter ](https://www.treinaweb.com.br/blog/configurando-ambiente-de-desenvolvimento-flutter) 

     Veja neste artigo como configurar o ambiente de desenvolvimento Flutter.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2023/06/PRE-PROCESSADORES-CSS-400x280.jpg)  [ Desenvolvimento Front-end ](https://www.treinaweb.com.br/blog/categoria/desenvolvimento-front-end) 

     3 anos atrás

    ##  [ Os Pré-Processadores CSS ](https://www.treinaweb.com.br/blog/os-pre-processadores-css) 

     Nesse artigo veremos o que são, pra que servem e quais os pré-processadores CSS mais utilizados. Aprenda a dar super poderes ao CSS

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2021/04/conhecendo-o-gerenciador-de-pacotes-chocolatey-400x280.png)  [ Ferramentas ](https://www.treinaweb.com.br/blog/categoria/ferramentas) 

     6 anos atrás

    ##  [ Conhecendo o Gerenciador de Pacotes Chocolatey ](https://www.treinaweb.com.br/blog/conhecendo-o-gerenciador-de-pacotes-chocolatey) 

     Neste artigo conheceremos o Gerenciador de Pacotes Chocolatey.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2021/05/conhecendo-o-gerenciador-de-pacotes-homebrew-400x280.png)  [ Ferramentas ](https://www.treinaweb.com.br/blog/categoria/ferramentas) 

     6 anos atrás

    ##  [ Conhecendo o gerenciador de pacotes Homebrew ](https://www.treinaweb.com.br/blog/conhecendo-o-gerenciador-de-pacotes-homebrew) 

     Neste artigo conheceremos o Gerenciador de Pacotes Homebrew.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2016/10/yarn-um-novo-gerenciador-de-dependencias-para-javascript-400x280.jpg)  [ Javascript ](https://www.treinaweb.com.br/blog/categoria/javascript) 

     10 anos atrás

    ##  [ Yarn: Um novo gerenciador de dependências para JavaScript ](https://www.treinaweb.com.br/blog/yarn-um-novo-gerenciador-de-dependencias-para-javascript) 

     Yarn nasceu para ser uma opção rápida e segura de se gerenciar dependências em JavaScript.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2018/08/07161700/gerenciamento-python-400x280.png)  [ Python ](https://www.treinaweb.com.br/blog/categoria/python) 

     8 anos atrás

    ##  [ Gerenciando pacotes em projetos Python com o PIP ](https://www.treinaweb.com.br/blog/gerenciando-pacotes-em-projetos-python-com-o-pip) 

     Veja neste artigo como gerenciar pacotes para seus projetos Python utilizando o PIP.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2020/04/03155235/GERENCIADOR-DEPENDÊNCIAS-400x280.png)  [ Desenvolvimento ](https://www.treinaweb.com.br/blog/categoria/desenvolvimento) 

     7 anos atrás

    ##  [ O que é gerenciador de dependências? ](https://www.treinaweb.com.br/blog/o-que-e-gerenciador-de-dependencias) 

     Uma ferramenta que facilita a vida do desenvolvedor e o auxilia no gerenciamentos das bibliotecas utilizadas no projeto que estiver trabalhando.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2022/04/o-que-e-o-composer-400x280.png)  [ PHP ](https://www.treinaweb.com.br/blog/categoria/php) 

     5 anos atrás

    ##  [ Como instalar um pacote com Composer e utilizá-lo em seu projeto PHP ](https://www.treinaweb.com.br/blog/como-instalar-um-pacote-com-composer-e-utiliza-lo-em-seu-projeto-php) 

     Aprenda a instalar e utilizar o gerenciador de dependências Composer e dê o próximo passo rumo a se tornar um desenvolvedor PHP.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2020/03/01154814/NUGET-400x280.png)  [ Desenvolvimento Back-end ](https://www.treinaweb.com.br/blog/categoria/desenvolvimento-back-end) 

     7 anos atrás

    ##  [ O que é o NuGet? ](https://www.treinaweb.com.br/blog/o-que-e-o-nuget) 

     Um gerenciador de pacote é essencial em qualquer plataforma de desenvolvimento moderna. Para o .NET há o Nuget, o conheça em detalhes neste artigo.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2017/07/configurando-um-servidor-web-para-producao-com-o-serverpilot-400x280.png)  [ Computação em nuvem ](https://www.treinaweb.com.br/blog/categoria/computacao-em-nuvem) 

     10 anos atrás

    ##  [ Configurando um servidor web para produção com o ServerPilot ](https://www.treinaweb.com.br/blog/configurando-um-servidor-web-para-producao-com-o-serverpilot) 

     Aprenda a configurar um servidor web com PHP e MySQL de forma rápida e segura, com gerenciador web de aplicações e instalador automático do WordPress com o ServerPilot.

     Ler artigo

## Um ano de acesso total para você viver de programação.

 Todos os cursos e formações da TreinaWeb numa única assinatura, com professores que atuam no mercado, suporte direto e certificados. Do primeiro `console.log` ao mercado de trabalho.

- **1 ano** de acesso a **todos os cursos**
- Cursos novos **toda semana**
- Suporte **direto com professores**
- Plano de carreira **personalizado**
- **Certificados digitais** inclusos
- **Aplicativos** para Android e iOS, com **acesso offline**

    **Garantia incondicional de satisfação** 

 Teste por 7 dias e, se não fizer sentido para você, devolvemos seu dinheiro.

### Acesso completo a todos os cursos e dezenas de Formações.

 12 meses 

  Economize R$ 840,00  54% OFF 

 de 12x R$ 129,00 por apenas

 12x  R$ 59,00

 sem juros no cartão de crédito ou R$ 599,00 à vista

  Oferta termina em  **14h 51min 30s**

- Acesso imediato e ilimitado durante 1 ano.
- Plano de carreira personalizado.
- Suporte direto com professores.
- E muito mais!

 [Matricule-se agora](https://www.treinaweb.com.br/checkout/pagamento/plano/anual?cupom=TW-SCLIENTE26)

     [                ](https://www.treinaweb.com.br)

 Escola online de programação, tecnologia e IA.

- [  ](https://www.facebook.com/TreinaWeb/)
- [  ](https://www.instagram.com/treinaweb/)
- [  ](https://www.youtube.com/user/TreinaWeb)
- [  ](https://twitter.com/treinaweb)
- [  ](https://www.linkedin.com/company/treinaweb)
- [  ](https://github.com/treinaweb)

## Inscreva-se em nossa newsletter

Receba lançamentos, promoções e novidades.

   Seu nome     Seu WhatsApp     Seu melhor e-mail   Inscrever-se 

## Cursos

- [ Base para Devs ](https://www.treinaweb.com.br/categoria/base-para-devs)
- [ Front-end ](https://www.treinaweb.com.br/categoria/desenvolvimento-front-end)
- [ Back-end ](https://www.treinaweb.com.br/categoria/desenvolvimento-back-end)
- [ Mobile ](https://www.treinaweb.com.br/categoria/desenvolvimento-mobile)
- [ Bancos de Dados ](https://www.treinaweb.com.br/categoria/bancos-de-dados)
- [ Cloud ](https://www.treinaweb.com.br/categoria/cloud-computing)
- [ IA ](https://www.treinaweb.com.br/categoria/ia)
- [ E mais ](https://www.treinaweb.com.br/categoria/e-mais)
- [ Ver todos os cursos ](https://www.treinaweb.com.br/cursos)

## Conteúdo

- [ Formações ](https://www.treinaweb.com.br/formacoes)
- [ Projetos práticos ](https://www.treinaweb.com.br/projetos-praticos)
- [ Direto ao ponto ](https://www.treinaweb.com.br/direto-ao-ponto)
- [ Planos ](https://www.treinaweb.com.br#assinatura)
- [ Depoimentos ](https://www.treinaweb.com.br#depoimentos)
- [ Comunidade ](https://www.treinaweb.com.br#comunidade)
- [ Corpo docente ](https://www.treinaweb.com.br#docente)

## A empresa

- [ Sobre a TreinaWeb ](https://www.treinaweb.com.br#sobre)
- [ Perguntas frequentes ](https://www.treinaweb.com.br#faq)
- [ Vantagens de estudar na TreinaWeb ](https://www.treinaweb.com.br/vantagens-de-estudar-na-treinaweb)
- [ Cursos para empresas ](https://www.treinaweb.com.br/empresas)
- [ Sugira um novo curso ](https://www.treinaweb.com.br/sugerir-curso)
- [ Trabalhe conosco ](https://www.treinaweb.com.br/trabalhe-conosco)
- [ Artigos ](https://www.treinaweb.com.br/blog)
- [ Desenvolvedores e agentes ](https://www.treinaweb.com.br/developers)
- [ Contato ](https://www.treinaweb.com.br/contato)
- [ Política de privacidade ](https://www.treinaweb.com.br/politica-de-privacidade)
- [ Termos de uso ](https://www.treinaweb.com.br/termos-de-uso)

## Baixe nosso aplicativo

 [   Disponível na **App Store**  ](https://apps.apple.com/us/app/treinaweb/id1322729447) [   Disponível no **Google Play**  ](https://play.google.com/store/apps/details?id=br.com.treinaweb.mobile) 

  Av. Paulista, 1765, Conj 71 e 72 · Bela Vista · São Paulo · SP · 01311-200   © 2004 – 2026 TreinaWeb Tecnologia LTDA · CNPJ 06.156.637/0001-58
