<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)大!

          共 4319字,需瀏覽 9分鐘

           ·

          2022-06-28 00:59

          二哥編程知識(shí)星球 (戳鏈接加入)正式上線了,來(lái)和 270 多名 小伙伴一起打怪升級(jí)吧!這是一個(gè) Java 學(xué)習(xí)指南 + 編程實(shí)戰(zhàn)的私密圈子,你可以向二哥提問(wèn)、幫你制定學(xué)習(xí)計(jì)劃、跟著二哥一起做實(shí)戰(zhàn)項(xiàng)目,沖沖沖。

          Java程序員進(jìn)階之路網(wǎng)址:https://tobebetterjavaer.com

          前言(廢話)

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

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

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

          Homebrew 能干什么

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

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

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

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

          brew install mongodb

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

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

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

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

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

          安裝配置 Homebrew

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

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

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

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

          怎么辦呢?

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

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

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

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

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

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

          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ū)別

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

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

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

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

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

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

          使用 Homebrew

          Homebrew安裝配置完成后,我們來(lái)實(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清除過(guò)時(shí)軟件包
          brew link package創(chuàng)建軟件包符號(hào)鏈接
          brew unlink package取消軟件包符號(hào)鏈接
          brew doctor檢查系統(tǒng)是否存在問(wèn)題
          brew tap [user/repo]將開(kāi)源倉(cāng)庫(kù)添加到源

          第一把,使用 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 的安裝路徑可以通過(guò)下圖的位置查找。

          管理:

          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é)

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

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

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


          沒(méi)有什么使我停留——除了目的,縱然岸旁有玫瑰、有綠蔭、有寧?kù)o的港灣,我是不系之舟。

          推薦閱讀

          瀏覽 59
          點(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>
                  高清乱伦av | 最新日韩AV | 无码一级毛片免费视频播放 | 中文字幕无码伦区 | 国产精品无码一区二区三区免费 |