Principais Gerenciadores de Dependências
Quem é da área de programação sabe que não pode prescindir dos gerenciadores de dependências. Para cada linguagem pode haver um ou mais disponível, já que a criatividade dos desenvolvedores, especialmente a turma do software livre, é tão grande quanto as preferências e necessidades específicas de cada um.
Assim, correndo o risco de ser injusto com uma ou outra excelente opção, apresento a lista a seguir dos gerenciadores de dependências mais conhecidos (pelo menos por mim), para o caso de alguém estar precisando dessa informação.
-
JavaScript e NodeJs:
- npm (Node Package Manager): O gerenciador de pacotes padrão para Node.js e JavaScript. Ele é usado para instalar, compartilhar e distribuir pacotes de código reutilizável.
-
Python:
- pip (Pip Installs Packages): O gerenciador de pacotes padrão para Python. Ele é usado para instalar e gerenciar pacotes Python de repositórios Python Package Index (PyPI) e outros.
- Poetry: Também um queridinho de muitos desenvolvedores Python, promete resolver dependências de forma exaustiva, de modo a sempre garantir a perfeita compatibilidade entre os pacotes, se essa solução existir.
-
Ruby:
- Bundler: Usado para gerenciar dependências Ruby para aplicativos e bibliotecas dessa linguagem, instala as gemas necessárias e as mantém em um Gemfile.lock para garantir a consistência das dependências.
-
Java:
-
Maven: Uma ferramenta de automação de compilação usada principalmente para projetos Java. Gerencia dependências e faz o build dos projetos usando arquivos de configuração XML chamados POM (Project Object Model).
-
Gradle: Uma ferramenta de automação de compilação que pode ser usada para construir quase qualquer tipo de software, incluindo, mas não se limitando ao Java. Oferece grande flexibilidade e é altamente configurável, usando uma sintaxe baseada em Groovy ou Kotlin.
-
-
PHP:
- Composer: O gerenciador de dependências para PHP permite que você declare as bibliotecas das quais o seu projeto depende e as instala para você, simplificando a integração de bibliotecas de terceiros em seu projeto PHP.
-
C# e .NET:
- NuGet: O gerenciador de pacotes para o ecossistema .NET é usado para encontrar e instalar bibliotecas de terceiros e ferramentas para projetos que usam as linguagens da Microsoft.
-
Go:
- go mod: A partir da versão 1.11, o Go vem com suporte integrado para gerenciamento de dependências usando módulos. O comando
go mod
é usado para criar e manter esses módulos, fornecendo uma maneira de gerenciar dependências para projetos Go.
- go mod: A partir da versão 1.11, o Go vem com suporte integrado para gerenciamento de dependências usando módulos. O comando
-
Rust:
- Cargo: Gerenciador de pacotes e construção de projetos para Rust, ele gerencia dependências, compilação e publicação de pacotes Rust.
Cada uma dessas ferramentas possui sua própria sintaxe e filosofia de uso. Para conhecer o conjunto de recursos específicos de cada uma delas, sugiro consultar a própria documentação da ferramenta no site ou no Github dos desenvolvedores da solução.