好用到爆!GitHub 星標 32.5k+的命令行軟體管理神器,功能真心強大!

来源:https://www.cnblogs.com/qing-gee/archive/2022/06/27/16415983.html
-Advertisement-
Play Games

Homebrew,好用到爆!GitHub 星標 32.5k+的 macOS 命令行軟體管理神器,功能真心強大! ...


前言(廢話)

本來打算在公司偷偷摸摸給星球的用戶寫一篇編程喵整合 MongoDB 的文章,結果在通過 brew 安裝 MongoDB 的時候竟然報錯了。原因很簡單,公司這台 Mac 上的 homebrew 環境沒有配置好。剛好 Java 程式員進階之路上缺少這樣一篇內容。

所以我就想,不如趁機水一篇吧,啊,不不不,趁機給小伙伴們普及一下 Homebrew 吧!瞧我這該死的大公無私的心(手動狗頭)。

不會吧?不會還有人用 macOS 沒有安裝/配置 Homebrew 吧?

Homebrew 能幹什麼

Homebrew 的 Slogan :The missing package manager for macOS (or Linux)

Homebrew 這款命令行軟體管理神器在 GitHub 上已經有 32.5k+ 的 star 了,功能也真心強大,幾乎 macOS 上的軟體包它都包了。Homebrew 本身沒有問題,問題在於。。。。。不說了,你懂的。

Homebrew 除了是 macOS 的包管理器也可以裝在 Linux 上成為 Linux 的包管理器,僅需要執行相應的命令,就能下載安裝需要的軟體包,省去了下載、解壓、拖拽等繁瑣的步驟。

用 Homebrew 官方的話來總結就是:安裝 Apple(或 Linux 系統)沒有預裝但你需要的軟體。比如說安裝 MongoDB,只需要執行以下命令就可以安裝,前提條件是環境一定要配置好。

brew install mongodb

簡單一條命令,就可以實現包管理,還不用擔心依賴/文件路徑等問題。

Homebrew 主要由四個部分組成: brew、homebrew-core 、homebrew-cask、homebrew-bottles。

  • brew:Homebrew 的源代碼倉庫
  • homebrew-core:Homebrew 的核心源
  • homebrew-cask:提供 macOS 應用和大型二進位文件的安裝
  • homebrew-bottles:預編譯二進位軟體包

再來瞭解一下 Homebrew 的接個核心概念,後續會經常用到。

  • formula(e),安裝包的描述文件,帶 e 為複數
  • cellar,包安裝好後所在的目錄
  • bottle,預先編譯好的包,不需要再下載源碼編譯,速度會快很多,官方庫中的包大多數是通過 bottle 方式安裝的
  • tap,下載源
  • cask(s),安裝 macOS native 應用的擴展,可以理解為有圖形化界面的應用,帶 s 為複數
  • bundle,描述 Homebrew 依賴的擴展

安裝配置 Homebrew

世上無難事,只要找到 Homebrew 的正確安裝方式。

按理說,Homebrew 的安裝方式非常簡單,只需要執行官方的一句命令就可以完成安裝了。

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

但國內開發者命苦就苦在,經常會因為網路的原因安裝失敗。原因我只能說這是 https://raw.githubusercontent.com 網站的鍋,誰讓它訪問不穩定呢?

怎麼辦呢?

必須換一種高效且科學的安裝方式,那就是使用鏡像安裝。 Gitee 上有開源作者提供了一鍵安裝包,只需要執行以下命令就可以了。

/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"

安裝腳本里提供了中科大、清華大學、北京外國語大學、騰訊、阿裡巴巴等下載源。

但過來人告訴你,別選其他鏡像源,就選中科大,速度杠杠的,40-50M/s,這速度比其他鏡像源快多了,對比起來,其他就是蝸牛

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 本篇代碼提供者: 青燈教育-巳月老師 知識點: 動態數據抓包 requests發送請求 json數據解析 開發環境: 運行代碼 python 3.8 輔助敲代碼 pycharm 2021.2 第三方模塊 requests 如果安裝python第三方模塊: win + R 輸入 cmd 點擊確定, 輸 ...
  • MySQL有兩個核心的知識點,索引和鎖。前幾篇文章已經詳細講解了MySQL索引實現機制,今天再一起學習一下MySQL的鎖。 ...
  • 使用Javafx插件的TreeTableView控制項,令一個類以樹狀表格的形式顯示。 ...
  • 我們都知道 Java 是一門一次編譯到處運行的語言,這與 JVM 有很大的關係,當我們執行 Java 程式的時候,會把一個一個的 .java 文件轉化成 JVM 可以理解的 class 文件,然後又 JVM 去執行,註意這裡的 JVM 是分操作系統的,所以可以做到一次編譯,到處運行。那麼Java 從 ...
  • <?php $function = @$_GET['f']; function filter($img){ $filter_arr = array('php','flag','php5','php4','fl1g'); $filter = '/'.implode('|',$filter_arr).' ...
  • 前言 微服務的服務提供者和服務消費者解耦合之後,我們可以藉助restTemplate這樣的HTTP客戶端,向微服務的服務提供者發起遠程調用; 但是這樣的代碼有2大缺陷: 代碼可讀性差,編程體驗不統一 當URL參數複雜時難以維護 //使用RestTemplate發起遠程調用 @Autowired pr ...
  • 增:添加數據 利用模型類創建對象來進行增加 語法: 對象名 = 模型類(欄位=值) 需要自己手動保存對象名.save() 利用模型類管理器增加數據 語法: 模型類.objects.create(欄位=值...) 刪:刪除數據 利用模型類創建對象進行刪除 語法: 對象名 = 模型類.objects.g ...
  • 今日目標: 1:能夠說出什麼是數據結構,什麼是演算法 2:能說出大O時間複雜度是怎麼得來的 3:能夠說出時間複雜度的幾個分析原則並加以實際應用 4:能夠說出常見的幾種時間複雜度O(1),O(n),O(log n),O(n * log n) 5:能理解空間複雜度的分析方式 1、概念 雖然概念很空洞,但是 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...