除了apt和dpkg,还有哪些常用的包管理器?
美国、香港服务器
除了apt和dpkg,还有哪些常用的包管理器?
05-15 来源:
除了适用于 Debian 系的 apt 和 dpkg,不同操作系统和编程语言生态中还有许多常用的包管理器,以下是按系统 / 场景分类的主流工具:
一、通用操作系统包管理器
1. RPM 系(Red Hat/CentOS/Fedora/openSUSE 等)
yum(Yellowdog Updater, Modified)
系统:CentOS/RHEL(旧版)、Fedora(早期版本)。
特点:基于 RPM 包,自动解决依赖,命令简洁。
常用命令:
bash
sudo yum install package # 安装软件
sudo yum update # 更新系统
sudo yum remove package # 卸载软件
dnf(Dandified YUM)
系统:Fedora、CentOS 8+、RHEL 8+(替代 yum)。
特点:更快的元数据处理、并行下载,支持插件扩展。
常用命令:
bash
sudo dnf install package # 安装软件
sudo dnf upgrade # 升级系统
sudo dnf autoremove # 删除无用依赖
zypper(openSUSE/SUSE Linux)
系统:openSUSE、SUSE Linux。
特点:支持 RPM 包,命令结构清晰,适合企业级场景。
常用命令:
bash
sudo zypper install package # 安装软件
sudo zypper update # 更新系统
sudo zypper remove package # 卸载软件
2. Arch 系(Arch Linux/Manjaro 等)
pacman
系统:Arch Linux、Manjaro。
特点:轻量、滚动更新,依赖处理高效,社区仓库丰富。
常用命令:
bash
sudo pacman -S package # 安装软件
sudo pacman -Syu # 更新系统(-y 自动确认,-u 升级包)
sudo pacman -R package # 卸载软件(保留依赖)
sudo pacman -Rns package # 彻底卸载(删除依赖)
yay/paru(AUR 助手)
功能:管理 Arch 社区仓库(AUR)中的软件包,自动处理编译和依赖。
特点:简化从源码编译安装的流程,适合非官方软件。
安装与使用:
bash
sudo pacman -S yay # 安装 yay
yay -S package # 安装 AUR 软件
3. BSD 系(FreeBSD/OpenBSD 等)
pkg
系统:FreeBSD、OpenBSD。
特点:类似 apt,支持二进制包和源码编译,仓库管理规范。
常用命令:
bash
pkg install package # 安装软件
pkg update && pkg upgrade # 更新系统
pkg delete package # 卸载软件
4. macOS
brew(Homebrew)
系统:macOS(替代官方包管理器)。
特点:开源、跨平台兼容,支持 Linux 和 macOS,社区活跃。
常用命令:
bash
brew install package # 安装软件
brew update # 更新仓库
brew upgrade package # 升级软件
brew cleanup # 清理旧版本
二、编程语言生态包管理器
1. Node.js(JavaScript)
npm(Node Package Manager)
功能:管理 Node.js 包和前端依赖,支持全局 / 本地安装。
常用命令:
bash
npm install package # 安装依赖(本地)
npm install -g package # 全局安装
npm update # 更新依赖
npm uninstall package # 卸载依赖
yarn
功能:npm 的替代工具,支持离线模式、更快的安装速度和更可靠的依赖锁定。
常用命令:
bash
yarn add package # 安装依赖
yarn global add package # 全局安装
yarn upgrade # 更新依赖
2. Python
pip
功能:管理 Python 包,支持 PyPI 仓库,默认随 Python 安装。
常用命令:
bash
pip install package # 安装包
pip install --user package # 本地用户安装(不修改系统文件)
pip freeze > requirements.txt # 导出依赖列表
pip uninstall package # 卸载包
conda(Anaconda/Mamba)
功能:用于数据科学和机器学习,管理 Python 环境和跨平台依赖(如 C/C++ 库)。
特点:支持创建隔离的虚拟环境,解决复杂依赖冲突。
常用命令:
bash
conda create -n myenv python=3.9 # 创建环境
conda activate myenv # 激活环境
conda install package # 安装包
3. Java/Gradle/Maven
Maven
功能:Java 项目管理工具,通过 pom.xml 定义依赖,自动下载 Jar 包。
常用命令:
bash
mvn install # 编译并安装依赖
mvn dependency:tree # 查看依赖树
Gradle
功能:更现代的 Java 项目构建工具,基于 Groovy/Kotlin 脚本,简化依赖配置。
特点:支持增量编译,性能优于 Maven。
4. Ruby
gem(RubyGems)
功能:管理 Ruby 包,默认随 Ruby 安装。
常用命令:
bash
gem install package # 安装 Gem
gem list # 查看已安装包
gem uninstall package # 卸载 Gem
5. Go
go mod(Go Modules)
功能:Go 1.11+ 内置的包管理工具,替代旧版 GOPATH 模式。
常用命令:
bash
go mod init project # 初始化模块
go get package@version # 获取依赖
go mod tidy # 清理无效依赖
三、跨平台与容器化工具
1. 容器化包管理
Docker/Podman
功能:打包应用及其依赖到容器镜像中,隔离运行环境。
特点:通过 Dockerfile 定义依赖,支持跨平台部署。
示例命令:
dockerfile
FROM ubuntu:20.04
RUN apt-get update && apt-get install -y python3
2. 通用跨平台工具
chocolatey
系统:Windows(类似 brew 的包管理器)。
常用命令:
powershell
choco install python # 安装 Python
choco upgrade all # 升级所有包
scoop
系统:Windows(轻量级包管理器,基于 Git 管理仓库)。
常用命令:
powershell
scoop install nodejs # 安装 Node.js
scoop update # 更新包
四、其他场景工具
1. JavaScript 前端(包管理 + 构建)
pnpm
功能:高效的 Node.js 包管理器,通过硬链接节省磁盘空间,速度快于 npm 和 yarn。
常用命令:
bash
pnpm install # 安装依赖
pnpm update # 更新依赖
2. Rust
cargo
功能:Rust 官方包管理器,管理 crate(Rust 包)和项目构建。
常用命令:
bash
cargo new project # 创建新项目
cargo add package # 添加依赖
cargo build # 编译项目
3. PHP
composer
功能:PHP 包管理器,通过 composer.json 定义依赖(如 Laravel 框架组件)。
常用命令:
bash
composer require package # 安装依赖
composer update # 更新依赖
总结:如何选择包管理器?
场景 推荐工具
Debian/Ubuntu 系统管理 apt/dpkg
Red Hat/CentOS 系统管理 dnf
Arch/Manjaro 系统管理 pacman/yay
macOS 系统管理 brew
Windows 系统管理 chocolatey/scoop
Node.js 前端开发 npm/yarn/pnpm
Python 数据科学 conda
跨平台容器化部署 Docker/Podman
语言生态专属依赖管理 对应语言工具(如 cargo、composer)
三二互联专业提供香港VPS,美国VPS主机,香港云服务器租用等业务香港美国到大陆CN2 GIA速度最快