博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
包管理工具(语言或者系统)
阅读量:4291 次
发布时间:2019-05-27

本文共 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/

你可能感兴趣的文章
linux进程网络流量监控工具nethogs
查看>>
String.ValueOf和toString区别
查看>>
分布式补偿事务处理方案 / 分布式计算是如何控制事务的?
查看>>
SQL之常用小技巧第一篇
查看>>
java互联网架构-Mybatis缓存机制
查看>>
spring 更换数据库
查看>>
Java回调机制是什么意思?
查看>>
程序员须知:面试中最容易被问到的18个算法题(附答案!)
查看>>
IT界最真实的面试实录(第一弹)
查看>>
阿里云服务器部署方案(nginx+tomcat+mysql)
查看>>
Java分布式开发不得不知的Dubbo技术详细介绍
查看>>
很多人都没用过的轻量级Oracle数据库数据导出工具——性能超赞
查看>>
大白话讲解并发控制的悲观锁与乐观锁 / 高性能 MySQL 笔记
查看>>
javascript大量推送数据如何快速处理?
查看>>
一个关于 nolock 的故事
查看>>
关于数据库方面的面试技巧:如何从建表展现自己能力
查看>>
直击Redis持久化磁盘IO痛点,让存储不再有负担!
查看>>
CentOS 7.0 x64下Zabbix 3.0 安装笔记 / linux运维之ZABBIX通过自带web检测功能检测网站是否正常
查看>>
什么是搜索引擎分词技术?
查看>>
细说分布式Session管理
查看>>