<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          【效率】好用到爆!GitHub 星標(biāo) 32.5k+的命令行軟件管理神器,功能真心強(qiáng)大!

          共 4187字,需瀏覽 9分鐘

           ·

          2022-07-04 20:04

          前言(廢話)

          本來打算在公司偷偷摸摸給星球的用戶寫一篇編程喵整合 MongoDB 的文章,結(jié)果在通過 brew 安裝 MongoDB 的時(shí)候竟然報(bào)錯(cuò)了。原因很簡(jiǎn)單,公司這臺(tái) Mac 上的 homebrew 環(huán)境沒有配置好。剛好 Java 程序員進(jìn)階之路上缺少這樣一篇內(nèi)容。

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

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

          Homebrew 能干什么

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

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

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

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

          brew install mongodb

          簡(jiǎn)單一條命令,就可以實(shí)現(xiàn)包管理,還不用擔(dān)心依賴/文件路徑等問題。

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

          • brew:Homebrew 的源代碼倉庫
          • homebrew-core:Homebrew 的核心源
          • homebrew-cask:提供 macOS 應(yīng)用和大型二進(jìn)制文件的安裝
          • homebrew-bottles:預(yù)編譯二進(jìn)制軟件包

          再來了解一下 Homebrew 的接個(gè)核心概念,后續(xù)會(huì)經(jīng)常用到。

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

          安裝配置 Homebrew

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

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

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

          但國(guó)內(nèi)開發(fā)者命苦就苦在,經(jīng)常會(huì)因?yàn)榫W(wǎng)絡(luò)的原因安裝失敗。原因我只能說這是 https://raw.githubusercontent.com 網(wǎng)站的鍋,誰讓它訪問不穩(wěn)定呢?

          怎么辦呢?

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

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

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

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

          這個(gè)安裝腳本非常的智能,幾乎可以一件幫我們搞定所有問題。

          再次感謝 Gitee 上這位大牛,已經(jīng) 3k star 了,我把地址貼出來:

          https://gitee.com/cunkai/HomebrewCN

          brew 本體安裝成功后,會(huì)提示我們配置國(guó)內(nèi)鏡像源。

          nice,安裝完成了。執(zhí)行下面這幾個(gè)命令體驗(yàn)下。

          • brew ls 查看本地命令;
          • brew search mongodb 查找軟件;
          • brew -v 查看版本;
          • brew update 更新版本;
          • brew install --cask firefox 安裝圖形化界面軟件
          • brew config 查看配置。

          brew 和 brew cask 的區(qū)別

          這里順帶說一下 brew 和 brew cask 的區(qū)別,這也是一開始我使用 brew 時(shí)困惑的一個(gè)點(diǎn)。

          以前的版本中,是可以直接 brew cask list 這樣執(zhí)行命令的,現(xiàn)在改成了 brew list --cask

          brew 是從下載源碼開始,然后編譯(不一定,有些有現(xiàn)成的 bottle)解壓,通過 ./configure && make install 進(jìn)行安裝,同時(shí)會(huì)包含相關(guān)的依賴庫。環(huán)境變量也是自動(dòng)配置的。

          brew cask 是下載解壓已經(jīng)編譯好了的軟件包(.dmg/.pkg),放在統(tǒng)一的目錄中,省去了手動(dòng)去下載、解壓、拖拽等蛋疼步驟。

          通過 brew search google 我們也可以看得出兩者之間的區(qū)別。

          • 「Formulae」一般是那些命令行工具、開發(fā)庫、字體、插件等不含 GUI 界面的軟件。
          • 「Cask」就會(huì)包含一些 GUI 圖形化界面的軟件,如 Google Chrome、FireFox 、Atom 等

          使用 Homebrew

          Homebrew安裝配置完成后,我們來實(shí)操體驗(yàn)兩把。

          這里是 homebrew 常用命令的一個(gè)清單,可供參考。

          命令描述
          brew update更新 Homebrew
          brew search package搜索軟件包
          brew install package安裝軟件包
          brew uninstall package卸載軟件包
          brew upgrade升級(jí)所有軟件包
          brew upgrade package升級(jí)指定軟件包
          brew list列出已安裝的軟件包列表
          brew services command package管理 brew 安裝軟件包
          brew services list列出 brew 管理運(yùn)行的服務(wù)
          brew info package查看軟件包信息
          brew deps package列出軟件包的依賴關(guān)系
          brew help查看幫助
          brew cleanup清除過時(shí)軟件包
          brew link package創(chuàng)建軟件包符號(hào)鏈接
          brew unlink package取消軟件包符號(hào)鏈接
          brew doctor檢查系統(tǒng)是否存在問題
          brew tap [user/repo]將開源倉庫添加到源

          第一把,使用 Homebrew 安裝 JDK

          作為一名 Java 后端程序員,JDK 是必須要安裝的,對(duì)吧?

          1)執(zhí)行 brew search jdk 查找有哪些可供安裝的 JDK

          2)執(zhí)行 brew install openjdk@17 安裝 JDK。

          3)但我們?cè)?macOS 上安裝了多個(gè)版本的 JDK 后,怎么管理它們呢?可以安裝一下 jEnv,一個(gè)幫助我們管理 JAVA_HOME 的命令行工具,在 GitHub 上已經(jīng)收獲 4.3k 的 star。

          GitHub 地址:https://github.com/jenv/jenv

          官方文檔也非常的簡(jiǎn)潔大方:

          https://www.jenv.be/

          安裝:

          brew install jenv

          配置:

          echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.zshrc
          echo 'eval "$(jenv init -)"' >> ~/.zshrc

          添加:

          jenv add /usr/local/opt/openjdk@17/libexec/openjdk.jdk/Contents/Home/

          JDK 的安裝路徑可以通過下圖的位置查找。

          管理:

          jenv versions
          jenv global 17.0.3

          是不是賊方便?再也不用整這 echo 'export PATH="/usr/local/opt/openjdk@17/bin:$PATH"' >> ~/.zshrc 玩意了!爽,實(shí)在是爽!

          第二把,使用 Homebrew 安裝 MongoDB

          先看 MongoDB 的官方文檔(當(dāng)前 release 版本是 5.0,我這里就先用上一個(gè)穩(wěn)定版 4.4):

          https://www.mongodb.com/docs/v4.4/tutorial/install-mongodb-on-os-x/

          1)拉取 MongoDB 的源

          brew tap mongodb/brew

          2)更新 brew

          brew update

          3)安裝 MongoDB

          brew install [email protected]

          OK,安裝成功。

          小結(jié)

          通過 Homebrew 下載的軟件基本上來自于官網(wǎng),所以大可以放心。而且而且它盡可能地利用了系統(tǒng)自帶的各種庫,使得軟件包的編譯時(shí)間大大縮短,基本上不會(huì)造成冗余。

          這里順帶給大家提一則小故事,教別人學(xué)算法的大佬可以拿走了:homebrew 的作者去面 Google,被考算法題: 反轉(zhuǎn)二叉樹,結(jié)果沒通過被拒了,??

          好了好了,今天這篇文章就先水到這吧,我們下期見~


          往期精彩回顧




          瀏覽 65
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  理论片在线午夜视频 | 欧美大鸡吧在线 | 亚洲A∨| 黄色电影网站免费在线观看 | 男人天堂网址 |