`
rensanning
  • 浏览: 3548915 次
  • 性别: Icon_minigender_1
  • 来自: 大连
博客专栏
Efef1dba-f7dd-3931-8a61-8e1c76c3e39f
使用Titanium Mo...
浏览量:38156
Bbab2146-6e1d-3c50-acd6-c8bae29e307d
Cordova 3.x入门...
浏览量:607323
C08766e7-8a33-3f9b-9155-654af05c3484
常用Java开源Libra...
浏览量:682352
77063fb3-0ee7-3bfa-9c72-2a0234ebf83e
搭建 CentOS 6 服...
浏览量:89366
E40e5e76-1f3b-398e-b6a6-dc9cfbb38156
Spring Boot 入...
浏览量:401861
Abe39461-b089-344f-99fa-cdfbddea0e18
基于Spring Secu...
浏览量:69699
66a41a70-fdf0-3dc9-aa31-19b7e8b24672
MQTT入门
浏览量:91724
社区版块
存档分类
最新评论

包管理器Package Manager

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

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

有了包管理器,只需要关注项目需要哪些软件包,不需要关注软件包里还需要嵌套依赖哪些软件包,这些包管理器都会自动完成,而且也不需要把这些软件包上传到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包管理器,Fortran Package Manager (fpm)Fortran包管理器...

    unity2018 package manager引入本地包Demo

    Package Manager是一个集成在Unity编辑器中的界面,它可以列出可用的包,并帮助你安装、更新和管理它们。这些包可以是Unity官方发布的,也可以是第三方开发者提供的。本地包导入功能使得开发者能够在不连接网络的...

    VI PACKAGE MANAGER

    VIPM作为一个包管理器,允许用户发现、安装、升级和管理这些工具包,极大地提高了开发效率。VIPM支持在线搜索,用户可以通过它找到适用于自己项目的特定工具包,并且能够一键安装,省去了手动下载和配置的繁琐步骤。...

    VS第三方类库在线管理器(NuGet Package Manager)下载2.1.31002

    在Visual Studio中,你可以通过“工具”菜单 -&gt; “NuGet程序包管理器”来访问这些功能。这个版本2.1.31002是NuGet的一个早期版本,可能包含了一些基础的安装、搜索、更新和卸载程序包的能力。 该压缩包包含的文件...

    Xcode 8.0以上使用Package Manager的方法

    - **便捷性**:通过Package Manager,开发者可以轻松地安装、管理和卸载Xcode的各种插件,大大提高了开发效率。 - **丰富资源**:Alcatraz插件库提供了大量的第三方插件资源,覆盖了代码编辑、UI设计等多个方面,...

    NuGet Package Manager vsix插件(含vs2010.203.2015)

    NuGet Package Manager是一款广泛用于.NET Framework开发环境的包管理工具,它使得开发者能够方便地在项目中添加、更新和移除第三方库。VSIX(Visual Studio Extension)是Visual Studio的一个扩展机制,允许开发者...

    C++ Package Manager.zip

    C++ Package Manager是一种用于管理C++...每个包管理器都有其独特的优势和适用场景,选择合适的包管理器取决于项目的需求和个人偏好。学习并熟练使用C++ Package Manager,将极大地提升C++开发的效率和项目的可维护性。

    NOKIA DataPackage Manager User Guide 4.0.doc

    **NOKIA DataPackage Manager**是一款专为诺基亚设备设计的软件管理工具,主要用于管理和更新诺基亚手机的固件和系统文件。本指南详细介绍了如何使用这款软件进行固件下载、管理及更新等操作,适用于各种服务级别和...

    Golang_GoKubernetes的下一代包管理器(Package Manager)具有GUI和CLI两种功能,G.zip

    随着项目的不断发展,新一代的包管理器应运而生,旨在提供更加高效和便捷的工具,以支持开发人员的工作流程。这个包管理器同时具备GUI(图形用户界面)和CLI(命令行界面)两种功能,以满足不同用户的偏好和需求。 ...

    Nuget Package Manager 下载

    NuGet包管理器提供两种主要的使用方式:解决方案资源管理器中的“管理NuGet包”对话框和命令行工具NuGet Package Manager Console。在对话框中,开发者可以选择要安装的包,浏览版本,查看依赖关系,并管理已安装的...

    Swift Package Manager Project:Swift 编程语言的包管理器-开源

    Swift Package Manager 是一个用于管理源代码分发的工具,旨在使共享代码和重用他人代码变得容易。 该工具直接解决了编译和链接 Swift 包、管理依赖项、版本控制以及支持灵活的分发和协作模型等挑战。 我们设计的...

    Windows Package Manager Client:Windows 包管理器 CLI(又名 winget)-开源

    包管理器旨在帮助您节省时间和减少挫折。 从本质上讲,它是一组软件工具,可帮助您自动化在您的机器上获取软件的过程。 您指定要安装的应用程序,它会查找最新版本(或您指定的确切版本)并将其安装在您的计算机上。...

    PackageManager:程序包管理器(用于管理您的应用程序的应用程序)的源代码

    包管理器 Package Manager是一款功能强大的应用程序,可以管理安装在android设备上的系统和用户应用程序。 下载 要求 某些高级功能所需的ROOT访问权限 特征 软件包管理器是一个简单但功能强大的应用程序,用于管理...

    awesome-package-manager:package很棒的包管理器资源

    "awesome-package-manager" 是一个集合了各种优秀包管理器资源的项目,旨在帮助开发者找到最适合他们需求的解决方案。这个项目的核心在于提供一个整理得井井有条的列表,包含了多种编程语言和平台的包管理器。 1. *...

    swift-package-manager:Swift编程语言的软件包管理器

    Swift Package Manager项目Swift Package Manager是用于管理源代码分发的工具,旨在使共享代码和重用他人代码变得容易。 该工具直接解决了编译和链接Swift软件包,管理依赖关系,版本控制以及支持灵活的分发和协作...

    Python库 | meta-package-manager-4.1.0.tar.gz

    "meta-package-manager-4.1.0.tar.gz" 是一个针对Python的元包管理器,它是一个特殊的软件包,不包含任何实际代码,而是用来管理和协调其他相关包的版本和依赖关系。元包管理器在Python生态系统中扮演着关键角色,它...

    Laravel开发-laravel-package-manager

    Laravel的包管理器主要是Composer,它是PHP的一个依赖管理工具,负责处理项目的依赖关系,并确保所有库都按照正确的版本和顺序安装。在"laravel-package-manager-master"这个压缩包中,很可能是包含了一个针对...

    Windows Package Manager Client:Windows软件包管理器CLI(又名winget)-开源

    软件包管理器旨在帮助您节省时间和沮丧的时间。 本质上,它是一组软件工具,可帮助您自动化在计算机上获取软件的过程。 您指定要安装的应用程序,并完成查找最新版本(或指定的确切版本)并将其安装在计算机上的工作...

    QPM-linux-deb软件包+依赖库

    这个软件包包含了Qualcomm Package Manager (QPM) 的版本2.0.21.1,它是Qualcomm公司提供的一款重要工具,用于帮助用户在Linux系统上管理和安装与Hexagon处理器相关的软件和库。QPM简化了针对Qualcomm硬件的软件部署...

Global site tag (gtag.js) - Google Analytics