OS 기본 패키지 관리도구

윈도우: winget

리눅스: apt, apt-get, yum, dnf, pacman, snap

맥: homebrew


다언어 관리도구

miniconda ( conda )


언어별 관리 도구

버전 관리: 해당 언어의 다양한 버전을 관리할 수 있는 도구들입니다.

가상환경 관리: 프로젝트마다 독립된 환경을 제공하여 패키지 충돌을 방지합니다. 일부 언어는 기본적으로 가상환경을 지원하지 않거나 별도의 도구가 필요 없습니다.

패키지 관리: 라이브러리와 패키지를 관리하고 설치하는 도구들입니다.


언어

버전 관리

가상 환경 관리

패키지 관리

기타

C

-

-

시스템 패키지 관리자
(apt, yum, brew 등)


C++

-

-

Conan, vcpkg, 
시스템 패키지 관리자


Python

pyenv

venv, virtualenv

pip

poetry, pipenv

Ruby

rbenv, rvm

bundler

gem


Node.js

nvm, n, fnm

-

npm, yarn, pnpm


TypeScript

nvm, pnvm

-

npm, yarn


JavaScript

-

-

npm, yarn, pnpm


Dart

fvm

-

pub


PHP

phpenv, phpbrew

-

composer


Go

gvm, goenv, g

-

go mod


Rust

rustup

rustup override

cargo


Scala

svm, sdkman

-

sbt

mill

Kotlin

sdkman, kotlinc

-

gradle

maven

Java

jenv, sdkman

-

maven

gradle, sbt

C# (.NET)

dotnet-install, sdkman,
dotnet (global.json)

-

NuGet

dotnet

Elixir

exenv, kiex

-

mix


Erlang

kerl

-

rebar3


Perl

perlbrew, plenv

local::lib

cpan, cpanm


Lua

luaenv

hererocks

luarocks


Haskell

ghcup

stack, cabal sandbox

cabal

stack

OCaml

opam

opam switch

opam


Clojure

sdkman

-

leiningen

deps.edn