包管理器是一个面向软件开发人员的工具,使用它能方便的使用和分享软件包,并管理软件包依赖关系。
包管理器的分类:
- 操作系统级:主要用于安装软件配置系统环境
- 开发语言级:主要用于添加第三方开源软件
如果没有包管理器,就需要通过浏览器自己手动挨个下载需要的每个软件包,然后自己把包放到正确的文件夹中,这样的过程是很繁琐的。现在大部分开发语言都提供了包管理器来帮助开发人员更好的管理软件包。
有了包管理器,只需要关注项目需要哪些软件包,不需要关注软件包里还需要嵌套依赖哪些软件包,这些包管理器都会自动完成,而且也不需要把这些软件包上传到SCM中!
当通过包管理器为项目中添加了一个软件包时:
①从指定仓库repository下载软件包(脚本语言一般直接是代码)
②把下载的软件包放到正确的地方并和项目工程关联
③解决可传递的依赖(依赖能够自动继承和传递)
(1)操作系统级
1)
apt (Debian, Ubuntu)
apt-get install <package>
2)
yum (CentOS, Fedora, RHEL)
yum install <package>
3)
Homebrew (OS X)
brew install <package>
(2)开发语言级
1)Java
Maven 配置文件:pom.xml
mvn install
Gradle 配置文件:build.gradle
gradle install
2)Objective-C
CocoaPods 配置文件:.podspec文件
pod install <package>
3)PHP
PEAR 配置文件:package.xml
pear install <package>
4)Ruby
gem 配置文件:.gemspec文件
gem install <package>
5)Python
PyPI 配置文件:setup.py文件
pip install <package>
6)Perl
CPAN 配置文件:META.yml文件
cpan <package>
7).NET
Nuget 配置文件:.nupkg文件
PM> Install-Package <package>
8)Node.js
npm 配置文件:package.json文件
npm install <package>
Yarn 配置文件:package.json文件
yarn add [package]
9)JavaScript
Bower 配置文件:bower.json文件
bower install <package>#<version>
WebJars 客户端包(e.g. jQuery & Bootstrap)
集成在Maven中
Libraries.io The Open Source Discovery Service.
■命令详细一览
■Java 常用的 Repository
①Maven Central Repository
引用
https://search.maven.org/
https://mvnrepository.com/
https://repo.maven.apache.org/maven2/
②Bintray JCenter
引用
http://jcenter.bintray.com/
https://bintray.com/bintray/jcenter
③Spring Repository
引用
http://repo.spring.io/release/
由于国内网络原因,很多时候需要使用VPN、Proxy、Mirror等方式才能安装。
■代理Proxy
①设置代理:
引用
$ set http_proxy=http://proxy.mysite.com:8080
// 如果有要求用户名密码则输入:
$ set http_proxy_user=<username>
$ set http_proxy_pass=<password>
②Git代理
引用
$ git config --global http.proxy http://proxy.mysite.com:8080
$ git config --global --unset http.proxy
③Android SDK代理
引用
Tools > Options... > Setting 里设置以下信息:
HTTP Proxy server: mirrors.neusoft.edu.cn
Proxy Port: 80
■镜像Mirror
①Maven
引用
<mirror>
<id>nexus-osc</id>
<mirrorOf>*</mirrorOf>
<name>Nexus osc</name>
<url>http://maven.oschina.net/content/groups/public/</url>
</mirror>
②npm
引用
全局镜像:
$ npm config set registry https://registry.npm.taobao.org/
安装时才指定:
$ npm install --registry https://registry.npm.taobao.org/ xxx
取消镜像:
$ npm config delete proxy
③RubyGems
引用
$ gem sources --remove https://rubygems.org/
$ gem sources -a https://ruby.taobao.org/
安装时才指定:
$ gem install --http-proxy https://ruby.taobao.org/ rails
④Python pip
引用
全局镜像:
Linux:~/.pip/pip.conf
Windows:%HOMEPATH%\pip\pip.ini
[global]
index-url = http://pypi.douban.com/simple
安装时才指定:
$ pip install web.py -i http://pypi.douban.com/simple
参考:
http://en.wikipedia.org/wiki/List_of_software_package_management_systems
http://blog.versioneye.com/2014/01/15/which-programming-language-has-the-best-package-manager/
- 大小: 115.4 KB
- 大小: 37.4 KB
分享到:
相关推荐
Fortran包管理器,Fortran Package Manager (fpm)Fortran包管理器,Fortran Package Manager (fpm)Fortran包管理器,Fortran Package Manager (fpm)Fortran包管理器,Fortran Package Manager (fpm)Fortran包管理器...
Package Manager是一个集成在Unity编辑器中的界面,它可以列出可用的包,并帮助你安装、更新和管理它们。这些包可以是Unity官方发布的,也可以是第三方开发者提供的。本地包导入功能使得开发者能够在不连接网络的...
VIPM作为一个包管理器,允许用户发现、安装、升级和管理这些工具包,极大地提高了开发效率。VIPM支持在线搜索,用户可以通过它找到适用于自己项目的特定工具包,并且能够一键安装,省去了手动下载和配置的繁琐步骤。...
在Visual Studio中,你可以通过“工具”菜单 -> “NuGet程序包管理器”来访问这些功能。这个版本2.1.31002是NuGet的一个早期版本,可能包含了一些基础的安装、搜索、更新和卸载程序包的能力。 该压缩包包含的文件...
- **便捷性**:通过Package Manager,开发者可以轻松地安装、管理和卸载Xcode的各种插件,大大提高了开发效率。 - **丰富资源**:Alcatraz插件库提供了大量的第三方插件资源,覆盖了代码编辑、UI设计等多个方面,...
NuGet Package Manager是一款广泛用于.NET Framework开发环境的包管理工具,它使得开发者能够方便地在项目中添加、更新和移除第三方库。VSIX(Visual Studio Extension)是Visual Studio的一个扩展机制,允许开发者...
C++ Package Manager是一种用于管理C++...每个包管理器都有其独特的优势和适用场景,选择合适的包管理器取决于项目的需求和个人偏好。学习并熟练使用C++ Package Manager,将极大地提升C++开发的效率和项目的可维护性。
随着项目的不断发展,新一代的包管理器应运而生,旨在提供更加高效和便捷的工具,以支持开发人员的工作流程。这个包管理器同时具备GUI(图形用户界面)和CLI(命令行界面)两种功能,以满足不同用户的偏好和需求。 ...
NuGet包管理器提供两种主要的使用方式:解决方案资源管理器中的“管理NuGet包”对话框和命令行工具NuGet Package Manager Console。在对话框中,开发者可以选择要安装的包,浏览版本,查看依赖关系,并管理已安装的...
Swift Package Manager 是一个用于管理源代码分发的工具,旨在使共享代码和重用他人代码变得容易。 该工具直接解决了编译和链接 Swift 包、管理依赖项、版本控制以及支持灵活的分发和协作模型等挑战。 我们设计的...
包管理器旨在帮助您节省时间和减少挫折。 从本质上讲,它是一组软件工具,可帮助您自动化在您的机器上获取软件的过程。 您指定要安装的应用程序,它会查找最新版本(或您指定的确切版本)并将其安装在您的计算机上。...
包管理器 Package Manager是一款功能强大的应用程序,可以管理安装在android设备上的系统和用户应用程序。 下载 要求 某些高级功能所需的ROOT访问权限 特征 软件包管理器是一个简单但功能强大的应用程序,用于管理...
"awesome-package-manager" 是一个集合了各种优秀包管理器资源的项目,旨在帮助开发者找到最适合他们需求的解决方案。这个项目的核心在于提供一个整理得井井有条的列表,包含了多种编程语言和平台的包管理器。 1. *...
Swift Package Manager项目Swift Package Manager是用于管理源代码分发的工具,旨在使共享代码和重用他人代码变得容易。 该工具直接解决了编译和链接Swift软件包,管理依赖关系,版本控制以及支持灵活的分发和协作...
"meta-package-manager-4.1.0.tar.gz" 是一个针对Python的元包管理器,它是一个特殊的软件包,不包含任何实际代码,而是用来管理和协调其他相关包的版本和依赖关系。元包管理器在Python生态系统中扮演着关键角色,它...
Laravel的包管理器主要是Composer,它是PHP的一个依赖管理工具,负责处理项目的依赖关系,并确保所有库都按照正确的版本和顺序安装。在"laravel-package-manager-master"这个压缩包中,很可能是包含了一个针对...
这个软件包包含了Qualcomm Package Manager (QPM) 的版本2.0.21.1,它是Qualcomm公司提供的一款重要工具,用于帮助用户在Linux系统上管理和安装与Hexagon处理器相关的软件和库。QPM简化了针对Qualcomm硬件的软件部署...
软件包管理器旨在帮助您节省时间和沮丧的时间。 本质上,它是一组软件工具,可帮助您自动化在计算机上获取软件的过程。 您指定要安装的应用程序,并完成查找最新版本(或指定的确切版本)并将其安装在计算机上的工作...