最近我花了一点时间关注了在不同系统之中所用到的包管理器(Package Manager) 。最开始的时候,我是在使用Linux操作系统时,对这种工具以及它背后的想法深深迷恋住了:这真是自由的软件世界。全世界所有的开发人员都可以将自己觉得有用的组件或者软件发布到一个共用的地方,其他的所有人都可以很方便地按需取用。

让我们记住Richard Stallman 以及他提出并创立的GNU计划。http://baike.baidu.com/view/36272.htm

在Linux系统中,包管理器是如此强大,让人惊叹。据说这也是Linux之所以很安全的原因,因为几乎所有软件都可以免费地通过包管理器下载到,不需要东找西找(也就免去了中毒的可能性),甚至黑客们连去编写病毒的愿望都没有。

闲话少说,我就从Linux中的包管理器说起吧

apt-get

Ubuntu中,默认采用apt-get 作为包管理器

常见的命令:

  1. apt-get update
  2. apt-get upgrade
  3. apt-get install
  4. apt-get uninstall
  5. apt-get source

yum

CentOS中,默认使用yum作为包管理器,用法很类似,有兴趣的朋友可以参考 https://www.centos.org/docs/5/html/yum/

我大部分时间不用CentOS,这里就不截图了。

Nuget Package Manager

这是微软提供的一个包管理器。他提供了可以用于.NET开发平台的各种组件包的托管及管理。

【注意】它提供的只是组件,而且仅限于.NET开发平台用的。这些组件,通常是一些DLL,不能直接运行的,但可以用于我们在具体开发的项目中。

https://www.nuget.org/

https://www.myget.org/ (这是一个新的站点,目的是想做一个统一的包源管理中心,Create NuGet feeds, npm, Bower and Vsix repositories with your own packages and those from other package sources such as NuGet.org or Npmjs.com.)

如何安装

http://docs.nuget.org/consume/installing-nuget

最好是集成在Visual Studio中,

除了图形化,也有命令行模式

还有独立的命令行工具(nuget.exe)

官方也提供一个独立的图形化界面

chocolatey

https://chocolatey.org/

这个可以翻译为“巧克力”吗?呵呵。这个与nuget有本质的区别,nuget是提供了组件的包管理器(也就是说它提供的包,是包含了一些组件,本身是不能运行的),而chocolatey提供的是直接可以执行的程序,这一点是很类似于linux中的 apt-get 这个功能的

实际上,它是要基于.NET Framework 4.0和PowerShell才能运行的,也只能在Windows上面运行。

安装好之后,随便启动一个命令行(需要用管理员身份),然后输入choco,就可以看到当前的版本信息

通过choco list命令可以获取到当前所有的包的列表

通过choco install命令可以安装需要的包,例如choco install git

npm

npm is the package manager for javascript. https://www.npmjs.com/

这也是一个神奇的工具。它的背后是神奇的nodejs。https://nodejs.org/ ,所以简单地说,npm就是一个基于nodejs的包管理器,它管理的是javascript。

你需要知道的包管理器(Package Manager)的更多相关文章

  1. 【sublime】插件安装:包管理器——Package Control

    首先,按CTRL+`,打开控制台   粘贴下面的代码,之后回车 如果是sublime3 import urllib.request,os,hashlib; h = '7183a2d3e96f11eea ...

  2. 插件安装:包管理器——Package Control

    首先,按CTRL+`,打开控制台   粘贴下面的代码,之后回车 如果是sublime3 ? 1 import urllib.request,os,hashlib; h = '7183a2d3e96f1 ...

  3. [Visual Studio] 记一次排错:打不开 Nuget 包管理器里的安装package页面,无法 安装 / 恢复 包

    出差一阵子PC很久没用了, 回来在用Visual Studio (2017) 的时候, 工程里无法安装Package了  >_<    --- 也不知道电脑做了什么?--- Nuget包管 ...

  4. Node.js包管理器Yarn的入门介绍与安装

    FAST, RELIABLE, AND SECURE DEPENDENCY MANAGEMENT. 就在昨天, Facebook 发布了新的 node.js 包管理器 Yarn 用以替代 npm .咱 ...

  5. 使用Bower作为Web包管理器

    Bower是一个简单易用的Web包管理器,通过它我们可以非常简便的安装各种Web框架和库,同时它也负责管理不同包之间的关系依赖. 安装Bower Bower需要 npm 和 Git 的支持,在安装Bo ...

  6. #VSTS日志# 15/11/18 插件应用市场,RM,包管理器等

    [小编]从今天开始,我将在这个博客上连载Visual Studio Team Service的定期更新.VSTS是Team Foundation Server 的在线版本,微软每3周会对这个服务进行更 ...

  7. Swift 正式开源, 包括 Swift 核心库和包管理器

    Swift 正式开源!Swift 团队很高兴宣布 Swift 开始开源新篇章.自从苹果发布 Swfit 编程语言,就成为了历史上发展最快的编程语言之一.Swift 通过设计使得软件编写更加快速更加安全 ...

  8. Windows下安装Cygwin及包管理器apt-cyg(转)

    本文为转载文章: http://www.2cto.com/os/201212/176551.html Cygwin可以在Windows下使用unix环境Bash和各种功能强大的工具,对于Linux管理 ...

  9. 【转】包管理器Bower详细讲解

      包管理器Bower   今天自己用Angular写东西的时候,下载了Angular-seed项目,发现需要用到bower,之前也使用过,没有仔细了解,今天趁机了解到一些. bower的官网地址:  ...

随机推荐

  1. dd——留言板再加验证码功能

    1.找到后台-核心-频道模型-自定义表单 2.然后点击增加新的自定义表单 diyid 这个,不管他,默认就好 自定义表单名称 这个的话,比如你要加个留言板还是投诉建议?写上去呗 数据表  这个不要碰, ...

  2. PHPExcel按单元格读取数据

    import('ORG.Util.PHPExcel.PHPExcel'); $objReader = new PHPExcel_Reader_Excel2007(); //use excel2007 ...

  3. css 清除浮动 clear

    .clearfix{ zoom:1;/*对于老版本的IE进行兼容的设置*/ } .clearfix:after{ content:""; display:block; visibi ...

  4. C# File.Delete文件时 提示:文件引起的访问被拒绝解决方案

    new FileInfo(f).Attributes = FileAttributes.Normal; File.Delete(f);

  5. 协议分析 - DHCP协议解码详解

    协议分析 - DHCP协议解码详解 [DHCP协议简介]         DHCP,全称是 Dynamic Host Configuration Protocol﹐中文名为动态主机配置协议,它的前身是 ...

  6. C#动态编译引擎-CS-Script

    什么是CS-Script? CS-Script是一种以CLR(公共语言运行库)为基础的脚本系统,它使用ECMA标准的C#作为编程语言,它面向微软的CLR运行库(.net 2.0/3.0/3.5/4.0 ...

  7. 四核驱动的三维导航—淘宝新UI(设计篇)

    前面有一篇博客说到了淘宝UWP的"四核驱动的三维导航—淘宝新UI(需求分析篇)",花了两周的时间实现了这个框架,然后又陆陆续续用了三周的时间完善它. 多窗口导航,与传统的导航方式的 ...

  8. python自动化测试(4)-使用第三方python库技术实现

    python自动化测试(4)-使用第三方python库技术实现 1   概述 关于测试的方法论,都是建立在之前的文章里面提到的观点: 功能测试不建议做自动化 接口测试性价比最高 接口测试可以做自动化 ...

  9. 探索c#之尾递归编译器优化

    阅读目录: 递归运用 尾递归优化 编译器优化 递归运用 一个函数直接或间接的调用自身,这个函数即可叫做递归函数. 递归主要功能是把问题转换成较小规模的子问题,以子问题的解去逐渐逼近最终结果. 递归最重 ...

  10. 利用Hexo搭建个人博客-环境搭建篇

    我是一个爱写博客进行总结分享的人.然而,有着热爱写博客并且深知写博客好处的我,却没有好好的把这个习惯坚持下来.如今毕业已经一年多了吧,每一次与师弟师妹们聊天,我总会意味深长的建议他们,一定要定期梳理总 ...