包管理器Package Manager

包管理器是一个面向软件开发人员的工具,使用它能方便的使用和分享软件包,并管理软件包依赖关系。

[b]包管理器的分类:[/b]
[list][*]操作系统级:主要用于安装软件配置系统环境
[*]开发语言级:主要用于添加第三方开源软件[/list]
如果没有包管理器,就需要通过浏览器自己手动挨个下载需要的每个软件包,然后自己把包放到正确的文件夹中,这样的过程是很繁琐的。现在大部分开发语言都提供了包管理器来帮助开发人员更好的管理软件包。

有了包管理器,只需要关注项目需要哪些软件包,不需要关注软件包里还需要嵌套依赖哪些软件包,这些包管理器都会自动完成,而且也不需要把这些软件包上传到SCM中!

当通过包管理器为项目中添加了一个软件包时:
①从指定仓库repository下载软件包(脚本语言一般直接是代码)
②把下载的软件包放到正确的地方并和项目工程关联
③解决可传递的依赖(依赖能够自动继承和传递)

[b](1)操作系统级[/b]
1)[url=https://help.ubuntu.com/12.04/serverguide/apt-get.html]apt[/url] (Debian, Ubuntu)
[color=blue][b]apt-get install <package>[/b][/color]

2)[url=http://yum.baseurl.org/]yum[/url] (CentOS, Fedora, RHEL)
[color=blue][b]yum install <package>[/b][/color]

3)[url=http://brew.sh/]Homebrew[/url] (OS X)
[color=blue][b]brew install <package>[/b][/color]

[b](2)开发语言级[/b]
1)Java
[url=http://maven.apache.org/]Maven[/url] 配置文件:pom.xml
[color=blue][b]mvn install[/b][/color]
[url=http://www.gradle.org/]Gradle[/url] 配置文件:build.gradle
[color=blue][b]gradle install[/b][/color]

2)Objective-C
[url=http://cocoapods.org/]CocoaPods[/url] 配置文件:.podspec文件
[color=blue][b]pod install <package>[/b][/color]

3)PHP
[url=http://pear.php.net/]PEAR[/url] 配置文件:package.xml
[color=blue][b]pear install <package>[/b][/color]

4)Ruby
[url=https://rubygems.org/]gem[/url] 配置文件:.gemspec文件
[color=blue][b]gem install <package>[/b][/color]

5)Python
[url=https://pypi.python.org/pypi]PyPI[/url] 配置文件:setup.py文件
[color=blue][b]pip install <package>[/b][/color]

6)Perl
[url=http://www.cpan.org/]CPAN[/url] 配置文件:META.yml文件
[color=blue][b]cpan <package>[/b][/color]

7).NET
[url=http://www.nuget.org/]Nuget[/url] 配置文件:.nupkg文件
[color=blue][b]PM> Install-Package <package>[/b][/color]

8)Node.js
[url=https://www.npmjs.org/]npm[/url] 配置文件:package.json文件
[color=blue][b]npm install <package> [/b][/color]
[url=https://yarnpkg.com/]Yarn[/url] 配置文件:package.json文件
[color=blue][b]yarn add [package] [/b][/color]

9)JavaScript
[url=http://bower.io/]Bower[/url] 配置文件:bower.json文件
[color=blue][b]bower install <package>#<version> [/b][/color]
[url=http://www.webjars.org/]WebJars[/url] 客户端包(e.g. jQuery & Bootstrap)
[color=blue][b]集成在Maven中[/b][/color]

[url=https://libraries.io/]Libraries.io[/url] The Open Source Discovery Service.
[img]http://dl2.iteye.com/upload/attachment/0123/3665/30fdaf85-1b84-3aec-9425-4769aafb352a.png[/img]

[b]■命令详细一览[/b]
[img]http://dl2.iteye.com/upload/attachment/0107/7465/181f701a-17d5-3aa5-b89f-03c44e8cdad2.jpg[/img]

[b]■Java 常用的 Repository[/b]

①Maven Central Repository
[quote]https://search.maven.org/
https://mvnrepository.com/
https://repo.maven.apache.org/maven2/[/quote]
②Bintray JCenter
[quote]http://jcenter.bintray.com/
https://bintray.com/bintray/jcenter[/quote]
③Spring Repository
[quote]http://repo.spring.io/release/[/quote]

[color=red][b]由于国内网络原因,很多时候需要使用VPN、Proxy、Mirror等方式才能安装。[/b][/color]

[b]■代理Proxy[/b]

①设置代理:
[quote]$ set http_proxy=http://proxy.mysite.com:8080
// 如果有要求用户名密码则输入:
$ set http_proxy_user=<username>
$ set http_proxy_pass=<password>[/quote]

②Git代理
[quote]$ git config --global http.proxy http://proxy.mysite.com:8080
$ git config --global --unset http.proxy[/quote]

③Android SDK代理
[quote]Tools > Options... > Setting 里设置以下信息:
HTTP Proxy server: mirrors.neusoft.edu.cn
Proxy Port: 80[/quote]

[b]■镜像Mirror[/b]

①Maven
[quote]<mirror>
<id>nexus-osc</id>
<mirrorOf>*</mirrorOf>
<name>Nexus osc</name>
<url>http://maven.oschina.net/content/groups/public/</url>
</mirror>[/quote]

②npm
[quote]全局镜像:
$ npm config set registry https://registry.npm.taobao.org/
安装时才指定:
$ npm install --registry https://registry.npm.taobao.org/ xxx
取消镜像:
$ npm config delete proxy[/quote]

③RubyGems
[quote]$ gem sources --remove https://rubygems.org/
$ gem sources -a https://ruby.taobao.org/
安装时才指定:
$ gem install --http-proxy https://ruby.taobao.org/ rails[/quote]

④Python pip
[quote]全局镜像:
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[/quote]

参考:
[url=http://en.wikipedia.org/wiki/List_of_software_package_management_systems]http://en.wikipedia.org/wiki/List_of_software_package_management_systems[/url]
[url=http://blog.versioneye.com/2014/01/15/which-programming-language-has-the-best-package-manager/]http://blog.versioneye.com/2014/01/15/which-programming-language-has-the-best-package-manager/[/url]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值