包管理器入門(mén) linux(apt-get,yum,pkg)與node(yarn,npm)

      網(wǎng)友投稿 1676 2025-04-01

      1、包管理器是什么?

      什么是包管理器?

      包管理器(package manager)是一種工具,它允許用戶在操作系統(tǒng)上安裝、刪除、升級(jí)、配置和管理軟件包。軟件包管理器可以是像 軟件中心 這樣的圖形化應(yīng)用,也可以是像 apt-get 或 pacman 這樣的命令行工具。

      什么是軟件包?

      通常指的是一個(gè)應(yīng)用程序,它可以是一個(gè) GUI 應(yīng)用程序、命令行工具或(其他軟件程序需要的)軟件庫(kù)。包本質(zhì)上是一個(gè)存檔文件,包含二進(jìn)制可執(zhí)行文件、配置文件,有時(shí)還包含依賴關(guān)系的信息。

      包管理器是如何工作的?

      幾乎所有的 Linux 發(fā)行版都有軟件倉(cāng)庫(kù),它基本上是軟件包的集合。是的,可以有不止一個(gè)軟件庫(kù)。軟件庫(kù)包含不同種類的軟件包。

      軟件倉(cāng)庫(kù)也有元數(shù)據(jù)文件,其中包含了軟件包的信息,如軟件包的名稱、版本號(hào)、軟件包的描述和軟件倉(cāng)庫(kù)名稱等。這就是你在 Ubuntu/Debian 中使用 apt show 命令所看到的。

      你的系統(tǒng)上的包管理器首先會(huì)與元數(shù)據(jù)進(jìn)行交互。包管理器在你的系統(tǒng)上創(chuàng)建了一個(gè)元數(shù)據(jù)的本地緩存。當(dāng)你運(yùn)行包管理器的更新選項(xiàng)(例如 apt update)時(shí),它會(huì)通過(guò)引用倉(cāng)庫(kù)中的元數(shù)據(jù)來(lái)更新本地元數(shù)據(jù)緩存。

      當(dāng)你運(yùn)行軟件包管理器的安裝命令(例如 apt install package_name)時(shí),軟件包管理器會(huì)引用這個(gè)緩存。如果它在緩存中找到了包的信息,它就會(huì)使用互聯(lián)網(wǎng)連接到相應(yīng)的倉(cāng)庫(kù),并在你的系統(tǒng)上安裝之前先下載包。

      一個(gè)包可能有依賴關(guān)系。意思是說(shuō),它可能需要安裝其他軟件包。軟件包管理器通常會(huì)處理這些依賴關(guān)系,并將其與你正在安裝的軟件包一起自動(dòng)安裝。

      2、操作系統(tǒng)的包管理器

      Ubuntu(全球熱門(mén)發(fā)行版)

      默認(rèn)采用apt-get 作為包管理器

      常見(jiàn)的命令如下:

      apt-get update apt-get upgrade apt-get install apt-get uninstall apt-get source

      1

      2

      3

      4

      包管理器入門(mén) linux(apt-get,yum,pkg)與node(yarn,npm)

      5

      CentOS(大名鼎鼎的RedHat的社區(qū)版)

      默認(rèn)使用yum作為包管理器,用法與apt-get相似。

      FreeBSD

      默認(rèn)使用pkg作為包管理器。

      Fedora(對(duì)比Ubuntu有不一樣的包管理)

      默認(rèn)使用dnf作為包管理器。

      Red Hat Linux

      RPM包管理器,一種用于互聯(lián)網(wǎng)下載包的打包及安裝工具,最早由紅帽發(fā)行,后來(lái)開(kāi)源。幾乎所有的Linux發(fā)行版本都使用了這種形式的命令管理、安裝、更新和卸載軟件。

      Windows

      微軟 Build 2021 開(kāi)發(fā)者大會(huì)發(fā)布了 winget 1.0 版本。

      可以再cmd中輸入winget使用它。

      在此之前,windows通過(guò)使用msi文件打包安裝所需的數(shù)據(jù)庫(kù)和系統(tǒng)依賴項(xiàng)。

      也有比較有名的第三方如Chocolatey提供windows的包管理服務(wù)。

      macOS

      官方?jīng)]有包管理器,最有名的第三方包管理器是Homebrew。

      一款自由及開(kāi)放源代碼的軟件包管理系統(tǒng),用以簡(jiǎn)化macOS系統(tǒng)上的軟件安裝過(guò)程,最初由馬克斯·霍威爾寫(xiě)成。因其可擴(kuò)展性得到了一致好評(píng),而在Ruby on Rails社區(qū)廣為人知。 Homebrew使用GitHub,通過(guò)用戶的貢獻(xiàn)擴(kuò)大對(duì)軟件包的支持。

      3、編程語(yǔ)言的包管理器

      npm

      是 JavaScript 運(yùn)行時(shí) Node.js 的默認(rèn)程序包管理器。

      npm 由兩個(gè)主要部分組成:用于發(fā)布和下載程序包的 CLI(命令行界面)工具和托管 JavaScript 程序包的在線存儲(chǔ)庫(kù)。

      yarn

      由Facebook、Google、Exponent 和 Tilde 聯(lián)合推出了一個(gè)新的 JS 包管理工具 ,正如官方文檔中寫(xiě)的,Yarn 是為了彌補(bǔ) npm 的一些缺陷而出現(xiàn)的。

      npm install的時(shí)候巨慢。特別是新的項(xiàng)目拉下來(lái)要等半天,刪除node_modules,重新install的時(shí)候依舊如此。同一個(gè)項(xiàng)目,安裝的時(shí)候無(wú)法保持一致性。由于package.json文件中版本號(hào)的特點(diǎn),下面三個(gè)版本號(hào)在安裝的時(shí)候代表不同的含義。

      Yarn和npm命令對(duì)比

      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

      1

      2

      3

      4

      5

      pip

      python的默認(rèn)包管理器。

      gem

      Ruby的默認(rèn)包管理器。

      Nuget

      .NET世界的包管理器,C#會(huì)經(jīng)常用到。

      apt-get Linux npm Yarn

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:自定義動(dòng)畫(huà)播放時(shí)間最長(zhǎng)是5秒嗎?(自定義動(dòng)畫(huà)持續(xù)時(shí)間5秒)
      下一篇:excel文字怎么輸入兩行
      相關(guān)文章
      亚洲国产精品yw在线观看| 亚洲精品白浆高清久久久久久| 亚洲视频在线不卡| 亚洲日韩在线中文字幕第一页 | 亚洲大码熟女在线观看| 亚洲欧洲日韩极速播放| 久久久久亚洲av无码尤物| 亚洲AV永久无码精品成人| 亚洲乱码日产一区三区| 亚洲日韩国产精品第一页一区| 中文字幕在线亚洲精品| 亚洲伊人成无码综合网| 亚洲一区爱区精品无码| 亚洲国产精品成人久久| 亚洲国产精品无码专区在线观看| 亚洲AV无码专区国产乱码电影 | 亚洲人配人种jizz| 亚洲欧美日韩自偷自拍| 亚洲av成人一区二区三区在线播放 | 国产成人A人亚洲精品无码| 亚洲爆乳无码一区二区三区| 久久亚洲精品无码| 色婷婷六月亚洲婷婷丁香| 亚洲精品视频在线观看视频| 亚洲另类视频在线观看| 国产亚洲精品bv在线观看| 精品久久久久亚洲| 亚洲成AV人在线观看网址| 337p日本欧洲亚洲大胆裸体艺术| 亚洲国产精品VA在线观看麻豆| 亚洲一区二区成人| 亚洲av产在线精品亚洲第一站| 亚洲综合精品第一页| 久久精品熟女亚洲av麻豆| 亚洲精品一级无码鲁丝片| 亚洲区小说区激情区图片区| 亚洲精品高清视频| 亚洲五月综合网色九月色| 日韩成人精品日本亚洲| 亚洲夜夜欢A∨一区二区三区| 久久国产亚洲电影天堂|