久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

如何在linux中使用Homebrew

146次閱讀
沒有評論

共計 6236 個字符,預計需要花費 16 分鐘才能閱讀完成。

丸趣 TV 小編給大家分享一下如何在 linux 中使用 Homebrew,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

Homebrew  項目最初是為了給 Mac 用戶提供一個非官方的 Linux 式的包管理器。用戶很快就愛上了它友好的界面以及幫助性的提示,而且,它已經被移植到 Linux 系統 mdash; mdash; 這看起來像是一個奇怪的命運轉折。

一開始,有兩個分開的項目分別針對 macOS 和 Linux(Homebrew 與 Linuxbrew),但是現在是由 Homebrew 核心管理著這兩個操作系統。由于我正   從 Mac 切換到 Linux,所以一直在研究我在 macOS 最常用的開源軟件在 Linux 表現如何,最終,我很高興地發現 Homebrew 對 Linux 的支持太贊了!

為什么要在 Linux 使用 Homebrew 呢?

長期使用 Linux 的用戶對 Homebrew 的第一反應是:“為什么不直接使用 hellip; hellip; 呢”,省略號代表他們喜歡的某個 Linux 包管理器。基于 Debian 的系統早就有了  apt,基于 Fedora 的系統則有  dnf  和  yum,并且像 Flatpak 跟 AppImage 這樣的項目,在兩種系統上都能流暢運行。我花了不少時間嘗試這些技術,不得不說,它們都有其強大之處。

那我為什么還要   堅持使用 Homebrew  呢?首先,我對它非常熟悉。在為我過去使用的專有軟件尋找開源替代品的過程中,我已經學會了許多使用方法,而保持一些熟悉的東西,比如 Homebrew,可以讓我專注于一次學習一件事情,而不是被不同系統間的差異搞垮。

此外,我沒有看到哪一個包管理器像 Homebrew 一樣,對用戶如此友好。正如默認的幫助命令一樣,命令井然有序:

$ brew -hExample usage: brew search [TEXT|/REGEX/] brew info [FORMULA...] brew install FORMULA... brew update brew upgrade [FORMULA...] brew uninstall FORMULA... brew list [FORMULA...] Troubleshooting: brew config brew doctor brew install --verbose --debug FORMULA Contributing: brew create [URL [--no-fetch]] brew edit [FORMULA...] Further help: brew commands brew help [COMMAND] man brew  https://docs.brew.sh

過于簡短的輸出可能會被誤解為它功能局限,但是你簡單看看每一個子命令,都有很豐富的功能。雖然上面的列表只有短短 23 行,但對高級用戶來說,光是子命令  install  就包含整整 79 行的幫助信息:

$ brew --help | wc -l23$ brew install --help | wc -l79

它可以選擇忽略或者安裝依賴關系,也可以選擇用源代碼編譯以及用什么編譯器來編譯某個確切的上游 Git 提交,或者選擇應用的官方“灌裝”版。總而言之,Homebrew 即適合新手,也同樣能滿足老鳥。

開始在 Linux 使用 Homebrew

如果你想要試著使用 Homebrew,可以用這個單行腳本在 Mac 或者 Linux 上進行安裝:

$ /bin/bash -c  $(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)

這條命令會立即開始安裝 Homebrew。如果你比較謹慎,可以使用  curl  將該文件下載到本地,檢查完畢之后再運行。

$ curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh --output homebrew_installer.sh$ more homebrew_installer.sh #  審核該腳本,直到你覺得沒問題了 $ bash homebrew_installer.sh

對 Linux 的安裝步驟還包括如何配置點文件,對于 Debian 系統來說是  ~/.profile,對于 Fedora 系統是  ~/.bash_profile。

$ test -d /home/linuxbrew/.linuxbrew   eval $(/home/linuxbrew/.linuxbrew/bin/brew shellenv)$ test -r ~/.bash_profile   echo  eval \$($(brew --prefix)/bin/brew shellenv)   ~/.bash_profile$ echo  eval \$($(brew --prefix)/bin/brew shellenv)   ~/.profile

為了確認已經安裝好,Homebrew 團隊提供一個空的  hello “秘方”供測試:

$ brew install hello==  Downloading https://linuxbrew.bintray.com/bottles/hello-2.10.x86_64_linux.bottle.tar.gz######################################################################## 100.0%==  Pouring hello-2.10.x86_64_linux.bottle.tar.gz? /home/linuxbrew/.linuxbrew/Cellar/hello/2.10: 52 files, 595.6KB

看起來安裝毫無問題,讓我來試試更多操作。

命令行工具 Brew

Homebrew 宣稱自己是一款默認只“安裝你需要而 [Linux] 沒有的東西”的應用程序。

你可以用  brew  命令安裝任何打包在 Homebrew 中的命令行軟件。這些包的定義文件叫做“秘方 formula”,而且它們通過“瓶子 bottle”來編譯并分享。在 Homebrew 的世界里,還有許多“啤酒方面”的術語,但這個包管理器主要目的是讓軟件便于使用。

都有些什么樣的軟件呢?對我這樣的技術玩家(既然你已經在讀這篇文章,估計你也是)來說最方便的東西。例如,便利的  tree  命令,可以展示目錄結構,或者  pyenv,我用它來   在 Mac 管理不同版本 Python。

你可以用  search  命令查看所有可以安裝的“秘方”,在后面加上  wc  命令看看一共有多少:

# -l  選項統計行數 $ brew search | wc -l 5087

迄今為止,一共有 5000 多個“秘方”,這囊括了很多軟件。需要注意的是:并非所有“秘方”都能在 Linux 運行。在  brew search –help  輸出中有一節提到可以按軟件運行的操作系統來篩選軟件。它會在瀏覽器打開用于每個操作系統的軟件倉庫。我運行的是 Fedora,所以我會用它來試一試:

$ brew search --fedora tree

瀏覽器打開了網址  https://apps.fedoraproject.org/packages/s/tree,向我展示了所有 Fedora 的可用選項。你也可以通過其它方法進行瀏覽。“秘方”被集中整理到由操作系統劃分的核心倉庫當中(Mac 在  Homebrew Core,Linux 在  Linux Core)。同樣也可以通過 Homebrew API  在網頁顯示。

即使有這些選擇,我還是通過其它用戶的推薦找到很多新工具。我列出一些我最喜歡的工具,你可以在里面找點靈感:

pyenv、rbenv  和  nodenv  用來管理(相應的)Python、Ruby 和 Node.js 版本

imagemagick  用于腳本化編輯圖片

pandoc  用于腳本化轉換文檔格式(我通常將 .docx 文件轉成 .md 或者 .html)

hub  為 GitHub 用戶提供   更好的 Git 體驗

tldr  展示了命令工具的使用范例

想要深入了解 Homebrew,可以去  trldr 頁面   看看,比起應用的 man 頁面,它要友好得多。使用  search  命令確認你可以安裝:

$ brew search tldr==  Formulaetldr ?

太好了!對勾說明你可以安裝。那么繼續吧:

$ brew install tldr==  Downloading https://linuxbrew.bintray.com/bottles/tldr-1.3.0_2.x86_64_linux.bottle.1.tar.gz######################################################################## 100.0%==  Pouring tldr-1.3.0_2.x86_64_linux.bottle.1.tar.gz? /home/linuxbrew/.linuxbrew/Cellar/tldr/1.3.0_2: 6 files, 63.2KB

Homebrew 提供了編譯好的二進制文件,所以你不必在本地機器上從源碼編譯。這能節省很多時間,也不用聽 CPU 風扇的噪聲。我很欣賞 Homebrew 的另外一點是,你不完全理解每一個選項的含義也不會影響正常使用。若你想自己編譯,可以在  brew install  命令后面加上  -s  或者  –build-from-source  標識,這樣就能從源碼編譯“秘方”(即便已經有一個“瓶子”存在)。

同樣,軟件底層的復雜性也很有意思。使用  info  可以查看  tldr  軟件的依賴管理,“秘方”的源代碼存放在磁盤上的何處,甚至還能查看公開分析。

$ brew info tldrtldr: stable 1.3.0 (bottled), HEADSimplified and community-driven man pageshttps://tldr.sh/Conflicts with: tealdeer (because both install `tldr` binaries)/home/linuxbrew/.linuxbrew/Cellar/tldr/1.3.0_2 (6 files, 63.2KB) * Poured from bottle on 2020-06-08 at 15:56:15From: https://github.com/Homebrew/linuxbrew-core/blob/master/Formula/tldr.rb==  DependenciesBuild: pkg-config ?Required: libzip ?, curl ?==  Options--HEAD Install HEAD version==  Analyticsinstall: 197 (30 days), 647 (90 days), 1,546 (365 days)install-on-request: 197 (30 days), 646 (90 days), 1,546 (365 days)build-error: 0 (30 days)

從 Mac 到 Linux 的一點不足

在 macOS,Homebrew 的  cask(“酒桶”)子命令可以讓用戶使用命令行安裝、管理整個應用軟件。不幸的是,cask 還不能在任何 Linux 發行版上使用。我在安裝一個開源工具時發現了這點:

$ brew cask install tuskError: Installing casks is supported only on macOS

我在   論壇上   問了一下,很快得到其他用戶的反饋。總結一下,方案如下:

復刻 Homebrew 項目,構建這個特性,然后像別人展示其價值

給該軟件寫一個“秘方”,然后從源代碼編譯

為該軟件創建一個第三方倉庫

最后一個是我最感興趣的。Homebrew 通過   創建并維護“水龍頭 tap” (另一個受啤酒影響的術語)管理第三方倉庫。隨著你對系統越來越熟悉,并想加入生態系統,“水龍頭”是值得研究的。

備份 Homebrew 的安裝記錄

我最中意的 Homebrew 特性之一就是你可以像其它任何   用版本控制工具來備份點文件   一樣備份你的安裝記錄。為了實現這個目的,Homebrew 提供  bundle(“捆扎”)子命令,它可以控制一個叫  dump(“傾倒”)的子命令生成一個  Brewfile。這個文件包含你目前所有安裝的工具列表,可以重復使用。進入你想使用的目錄然后運行命令,它會根據你所安裝的軟件生成  Brewfile:

$ cd ~/Development/dotfiles # This is my dotfile folder$ brew bundle dump$ ls BrewfileBrewfile

當我換了一臺機器,想要安裝一樣的軟件時,進入含有  Brewfile  的文件夾,然后重新安裝:

$ ls BrewfileBrewfile$ brew bundle

它會在我的新機器上安裝所有列出的“秘方”。

在 Mac 和 Linux 同時管理 Brewfile

Brewfile  非常適合備份你目前的安裝記錄,但是如果某些在 Mac 上運行的軟件無法運行在 Linux 呢?或者剛好相反?我發現不管是 Mac 還是 Linux,如果軟件無法在當前操作系統運行,Homebrew 會優雅地忽略那一行。如果它遇到不兼容的請求(比如使用  brew  在 Linux 安裝“酒桶 cask”時),它會選擇跳過,繼續安裝過程:

$ brew bundle --file=Brewfile.example Skipping cask licecap (on Linux)Skipping cask macdown (on Linux)Installing fishHomebrew Bundle complete! 1 Brewfile dependency now installed.

為了保持配置文件的簡潔,我在兩個操作系統上使用同一份  Brewfile,因為它只安裝與操作系統相關的版本,所以我一直沒有遇到任何問題。

使用 Homebrew 管理軟件包

Homebrew 已經成了我必備的命令行工具,由于我很熟悉它,所以在 Linux 上的體驗也充滿樂趣。Homebrew   讓我的工具井然有序,并且時刻保持更新,我愈發欣賞它在實用性與功能上找到的平衡點。我更喜歡將軟件包管理的細節保持在用戶需要了解的最小程度,大多數人都會從中受益。如果你已經很熟悉  Linux 包管理器了,Homebrew 可能會讓你覺得很基礎,但稍微深入一點看,就會發現它的高級選項遠遠超過本文的內容。

以上是“如何在 linux 中使用 Homebrew”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注丸趣 TV 行業資訊頻道!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-08-25發表,共計6236字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 平昌县| 宿州市| 会同县| 吴川市| 大名县| 抚远县| 黄大仙区| 塔城市| 遂溪县| 天峻县| 泰兴市| 广水市| 遵化市| 夏河县| 屏边| 同德县| 辽阳县| 抚宁县| 宁晋县| 怀远县| 广昌县| 雅安市| 扎兰屯市| 黄浦区| 永昌县| 札达县| 井冈山市| 大渡口区| 澄城县| 惠水县| 遵义县| 红原县| 临桂县| 广州市| 茶陵县| 乌什县| 松滋市| 神木县| 沂南县| 安康市| 高青县|