最近我花了一点时间关注了在不同系统之中所用到的包管理器(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. javascript原理_JavaScript程序包管理器工作原理简介

    javascript原理 by Shubheksha 通过Shubheksha JavaScript程序包管理器工作原理简介 (An introduction to how JavaScript pa ...

  2. 安装npm_前端开发:node.js的node包管理器npm安装以及使用

    在前端开发过程中,node.js进行包管理的时候会使用npm管理器来操作.npm(node package manager)包管理器,主要是用于第三方模块的下载.安装和管理,它具有强大的第三方资源,重 ...

  3. Swift 4.1增强了泛型、编译器和包管理器

    \ 看新闻很累?看技术新闻更累?试试下载InfoQ手机客户端,每天上下班路上听新闻,有趣还有料! \ \\ Swift 4.1发布正式版,它为Swift包管理器和Foundation带来了新的语言特性 ...

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

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

  5. 11.19 rpm:RPM包管理器

    rpm命令的全称是Red Hat Package Manager(Red Hat包管理器),几乎所有的Linux发行版本都使用了这种形式的命令管理.安装.更新和卸载软件. 概括地说,rpm命令包含了五 ...

  6. 未能加载包studio package_Xrepo:一个现代化的跨平台 C/C++ 包管理器

    xrepo 是一个基于 Xmake 的跨平台 C/C++ 包管理器. 项目源码 官方文档 它基于 xmake 提供的运行时,但却是一个完整独立的包管理程序,相比 vcpkg/homebrew 此类包管 ...

  7. Paket:一个面向.NET的包管理器

    Packet是一个面向.NET语言的包管理器,旨在作为广受欢迎的NuGet的一个替代选项.InfoQ联系了项目联合创始人Steffen Forkmann,了解更多有关Paket起源和特性的信息. \\ ...

  8. 从 vue3 和 vite 源码中,我学到了一行代码统一规范团队包管理器的神器

    1. 前言 大家好,我是若川.最近组织了源码共读活动,感兴趣的可以加我微信 ruochuan12 参与,每周大家一起学习200行左右的源码,共同进步.已进行四个月了,很多小伙伴表示收获颇丰. 想学源码 ...

  9. Windows 程序包管理器 1.0 正式发布

    在 Microsoft Build 2021 开发者大会上,微软正式发布 Windows Package Manager(程序包管理器)1.0 正式版,目前在 GitHub 上已有超过 1600 个程 ...

  10. ASP.NET Core on K8S深入学习(10)K8S包管理器Helm-Part 2

    本篇已加入<.NET Core on K8S学习实践系列文章索引>,可以点击查看更多容器化技术相关系列文章.上一篇 Part 1 中介绍了Helm的基本概念与基本使用,这一篇我们来自定义一 ...

最新文章

  1. 基于vue-cli、elementUI的Vue超简单入门小例子
  2. [Cocoa]深入浅出 Cocoa 之 Core Data(2)- 手动编写代码
  3. 【今晚7点半】:现代C++和Mediasoup的WebRTC集群服务实践
  4. poj 2251 Dungeon Master (三维bfs)
  5. Mr.J--Java基础问题30问
  6. 记录一个美丽的小县城
  7. lg手机历史机型_细数LG G系列旗舰手机进化史
  8. iphone打出空心心形_空心心形符号(类似的心形符号)
  9. 基努·里维斯继续出演《黑客帝国4》|| 程序员吐槽大会精选片段
  10. 51GIF GIF动图中文搜索平台,表情包发源地,GIF动图素材库
  11. PGSQL 模糊查询不区分大小写
  12. oracle中的存储过程是什么,oracle存储过程是什么?
  13. 三体视讯获得数千万元天使轮融资,打造新营销渠道“新媒超信”
  14. TTL怎么计算拉电流和灌电流_配电线路安全电流如何计算?低压供电线路导线怎么选择?图文详解...
  15. Python 入门打卡1
  16. R数据分析:潜增长模型LGM的做法和解释,及其与混合模型对比
  17. 激活函数ReLU、Leaky ReLU、PReLU和RReLU
  18. Sencha的Eclipse插件提示和技巧
  19. DESeq2的baseMean和log2FoldChange是如何得到的?
  20. ubuntu虚拟机下测试摄像头拉流

热门文章

  1. velocity include
  2. Ajax 登录控件(三)
  3. android模糊搜索文件,模糊搜索_八门神器教程|安卓八门神器怎么用图文教程__单机攻略_跑跑车单机游戏网...
  4. appium python很慢_appium+python自动化测试遇到的坑及处理方案
  5. 事物(二)之客户端事务应答匹配
  6. 通过ramdump 分析匿名页导致的TASK_UNINTERRUPTIBLE
  7. 最长上升子序列(LIS)长度的O(nlogn)算法 (动态规划)
  8. 面向对象9:方法的重写、super关键字、子类对象的实例化过程
  9. python中的闭包与装饰器
  10. java 中== equals hashcode源码剖析