首页 > 系统相关 >包管理器入门 linux(apt-get,yum,pkg)与node(yarn,npm)

包管理器入门 linux(apt-get,yum,pkg)与node(yarn,npm)

时间:2023-02-08 20:35:29浏览次数:34  
标签:node npm 管理器 get apt yarn 软件包


1、包管理器是什么?

  • 什么是包管理器?
    包管理器(package manager)是一种工具,它允许用户在操作系统上安装、删除、升级、配置和管理软件包。软件包管理器可以是像 软件中心 这样的图形化应用,也可以是像 apt-get 或 pacman 这样的命令行工具。
  • 什么是软件包?
    通常指的是一个应用程序,它可以是一个 GUI 应用程序、命令行工具或(其他软件程序需要的)软件库。包本质上是一个存档文件,包含二进制可执行文件、配置文件,有时还包含依赖关系的信息。
  • 包管理器是如何工作的?

几乎所有的 Linux 发行版都有软件仓库,它基本上是软件包的集合。是的,可以有不止一个软件库。软件库包含不同种类的软件包。
软件仓库也有元数据文件,其中包含了软件包的信息,如软件包的名称、版本号、软件包的描述和软件仓库名称等。这就是你在 Ubuntu/Debian 中使用 apt show 命令所看到的。
你的系统上的包管理器首先会与元数据进行交互。包管理器在你的系统上创建了一个元数据的本地缓存。当你运行包管理器的更新选项(例如 apt update)时,它会通过引用仓库中的元数据来更新本地元数据缓存。
当你运行软件包管理器的安装命令(例如 apt install package_name)时,软件包管理器会引用这个缓存。如果它在缓存中找到了包的信息,它就会使用互联网连接到相应的仓库,并在你的系统上安装之前先下载包。
一个包可能有依赖关系。意思是说,它可能需要安装其他软件包。软件包管理器通常会处理这些依赖关系,并将其与你正在安装的软件包一起自动安装。

2、操作系统的包管理器

  • Ubuntu(全球热门发行版)
    默认采用apt-get 作为包管理器
    常见的命令如下:
apt-get update
apt-get upgrade
apt-get install
apt-get uninstall
apt-get source
  • CentOS(大名鼎鼎的RedHat的社区版)
    默认使用yum作为包管理器,用法与apt-get相似。
  • FreeBSD
    默认使用pkg作为包管理器。
  • Fedora(对比Ubuntu有不一样的包管理)
    默认使用dnf作为包管理器。
  • Red Hat Linux
    RPM包管理器,一种用于互联网下载包的打包及安装工具,最早由红帽发行,后来开源。几乎所有的Linux发行版本都使用了这种形式的命令管理、安装、更新和卸载软件。
  • Windows
    微软 Build 2021 开发者大会发布了 winget 1.0 版本。
    可以再cmd中输入winget使用它。
    在此之前,windows通过使用msi文件打包安装所需的数据库和系统依赖项。
    也有比较有名的第三方如Chocolatey提供windows的包管理服务。
  • macOS
    官方没有包管理器,最有名的第三方包管理器是Homebrew
    一款自由及开放源代码的软件包管理系统,用以简化macOS系统上的软件安装过程,最初由马克斯·霍威尔写成。因其可扩展性得到了一致好评,而在Ruby on Rails社区广为人知。 Homebrew使用GitHub,通过用户的贡献扩大对软件包的支持。

3、编程语言的包管理器

  • npm
    JavaScript 运行时 Node.js 的默认程序包管理器
    npm 由两个主要部分组成:用于发布和下载程序包的 CLI(命令行界面)工具和托管 JavaScript 程序包的在线存储库。
  • yarn
    由Facebook、Google、Exponent 和 Tilde 联合推出了一个新的 JS 包管理工具 ,正如官方文档中写的,Yarn 是为了弥补 npm 的一些缺陷而出现的。
    npm install的时候巨慢。特别是新的项目拉下来要等半天,删除node_modules,重新install的时候依旧如此。同一个项目,安装的时候无法保持一致性。由于package.json文件中版本号的特点,下面三个版本号在安装的时候代表不同的含义。
  • Yarn和npm命令对比
npm install === yarn 
npm install taco --save === yarn add taco
npm uninstall taco --save === yarn remove taco
npm install taco --save-dev === yarn add taco --dev
npm update --save === yarn upgrade
  • pip
    python的默认包管理器。
  • gem
    Ruby的默认包管理器。
  • Nuget
    .NET世界的包管理器,C#会经常用到。


标签:node,npm,管理器,get,apt,yarn,软件包
From: https://blog.51cto.com/gwj1314/6044786

相关文章