本文共 2843 字,大约阅读时间需要 9 分钟。
yarn facebook发布的新一代包管理工具,旨在解决以往使用npm作为包管理会遇到的一些问题。 从其官方介绍可以看到其重点强调的3个点:快、可靠、安全。 安装方式1: Npm i -g yarn 安装方式2: window下载msi,linux 和 mac 上使用 shell 指令来安装(依赖Node) Bower Bower 是 twitter 推出的一款包管理工具,基于nodejs的模块化思想,把功能分散到各个模块中,让模块和模块之间存在联系, 通过 Bower 来管理模块间的这种联系。 安装依赖:NodeJS、NPM、Git $ npm install -g bower brew 即 Homebrew,是Mac OSX上的软件包管理工具。类似ubuntu系统下的apt-get的功能。 curl -LsSf http://github.com/mxcl/homebrew/tarball/master | sudo tar xvz -C/usr/local --strip 1 brew install cgdb brew uninstall cgdb JavaScript: 通常使用NPM作为依赖管理工具。通过package.json来定义软件包的元信息、开发依赖(开发或测试需要)、部署依赖(运行时需要)。 JavaScript 通常使用 Grunt 进行构建。 Java: Maven是基于项目对象模型(POM)的项目管理工具,通过文本文件来描述项目的版本、URL、License、依赖等信息。 通过pom.xml来描述Maven项目。通过.properties文件和命令行参数读取系统特性。 Ant是由Java写成的编译、测试和部署Java应用的命令行工具。 通过build.xml来描述构建过程。build.xml的逻辑类似Makefile,每个target由命令和参数构成。 Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化建构工具。 它使用一种基于Groovy的特定领域语言来声明项目设置,而不是传统的XML。 Python: distribute、setuptools、distutils、easy_install、pip、distutils2、packaging、eggs、wheels、pyvenv、virtualenv…… distutils是python的标准库; setuptools试图完成distutils缺少的特性而开始开发; easy_install是setuptools的命令行接口,有更多的特性; 在setuptools的开发过程中产生了分歧,于是出现了distribute,它fork自setuptools,并在2013年取得和解并重新merge到setuptools 0.7版本; pip是一个更加高阶的接口,pip成为事实上的python软件的安装工具; eggs和wheels成为事实上的二进制python软件的安装工具。 venv和virtualenv则是用来创建python虚拟环境来实现应用隔离的。 virtualenv则是一个python软件包,用于创建孤立的python环境。 Xcode:插件管理工具Alcatraz curl -fsSL https://raw.github.com/supermarin/Alcatraz/master/Scripts/install.sh | sh,安装成功后重启Xcode RPM,DPKG: 软件包管理工具的作用是提供在操作系统中安装,升级,卸载需要的软件的方法,并提供对系统中所有软件状态信息的查询。 在 GNU/Linux( 以下简称 Linux) 操作系统中,RPM 和 DPKG 为最常见的两类软件包管理工具, 他们分别应用于基于 RPM 软件包的 Linux 发行版本和 DEB 软件包的 Linux 发行版本。 RPM 全称为 Redhat Package Manager,最早由 Red Hat 公司制定实施,随后被 GNU 开源操作系统接受并成为很多 Linux 系统 (RHEL) 的既定软件标准。 与 RPM 进行竞争的是- 基于 Debian 操作系统 (UBUNTU) 的 DEB 软件包管理工具- DPKG,全称为 Debian Package,功能方面与 RPM 相似。二者之具体比较不在本文范围之内。 RPM 中的默认安装规则是不允许同一个包多次安装的,也不允许降级安装。使用 --force 辅助参数将不考虑以上因素. rpm -ivh package.rpm rpm -Uvh package.rpm sudo dpkg -i package.deb sudo dpkg -r package.deb # 不卸载配置文件 使用 rpm2cpio 工具抽取 rpm包中的文件。 dpkg-deb --extract ibm_lotus_notes-8.5.i586.deb $dir( 目标目录 )抽取 dpkg 中的文件。 YUM-更加友好: YUM 基于 RPM 包管理工具,能够从指定的源空间(服务器,本地目录等)自动下载目标 RPM 包并且安装, 可以自动处理依赖性关系并进行下载、安装,无须繁琐地手动下载、安装每一个需要的依赖包。 此外,YUM 的另一个功能是进行系统中所有软件的升级。 如上所述,YUM 的 RPM 包来源于源空间,在 RHEL 中由 /etc/yum.repos.d/ 目录中的 .repo 文件配置指定。 yum -y install package-name yum list yum check-update yum remove package-name APT-更友好的包管理工具: APT 的全称为 Advanced Packaging Tools 。与 YUM 对应,它最早被设计成 DPKG 的前端软件,现在通过 apt-rpm 也支持 rpm 管理。 而本节本节将介绍 APT 作为 DPKG 前端的使用。 APT 的主要包管理工具为 APT-GET,通过此工具可满足和上述 YUM 相似的功能要求。 sudo apt-get update sudo apt-get install package-name sudo apt-get upgrade Alien-rpm与deb的兼容: Alien 工具可以将 RPM 软件包转换成 DEB 软件包,或把 DEB 软件包转换成 RPM 软件包,以此适应兼容性的需要。注意首先请在系统中安装 alien 。 sudo alien -d package.rpm sudo dpkg -i package.deb # alien -r package.deb # rpm -ivh package.rpm转载地址:http://edegi.baihongyu.com/