包管理工具(语言或者系统)



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



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值