윈도우: winget
리눅스: apt, apt-get, yum, dnf, pacman, snap
맥: homebrew
miniconda ( conda )
버전 관리: 해당 언어의 다양한 버전을 관리할 수 있는 도구들입니다.
가상환경 관리: 프로젝트마다 독립된 환경을 제공하여 패키지 충돌을 방지합니다. 일부 언어는 기본적으로 가상환경을 지원하지 않거나 별도의 도구가 필요 없습니다.
패키지 관리: 라이브러리와 패키지를 관리하고 설치하는 도구들입니다.
언어 | 버전 관리 | 가상 환경 관리 | 패키지 관리 | 기타 |
---|---|---|---|---|
C | - | - | 시스템 패키지 관리자 | |
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, | - | 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 |