Mac開發(fā)環(huán)境配置之HomeBrew

如果你使用慣了linux,你會對軟件包管理、命令行不能自拔旅择。由于mac的底層是類unix系統(tǒng)宣赔,也可以配置向linux一樣好用预麸。

安裝HomeBrew

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

上面必須先有ruby以及其他開發(fā)環(huán)境支持,建議安裝xcode后使用以上命令安裝儒将。

HomeBrew使用

安裝成功以后吏祸,使用man brew查看命令幫助學習使用。man brew的內(nèi)容很多钩蚊,我下面展示brew --help

(data)  youdi@liangchangyoudeMacBook-Pro  ~  brew --help
Example usage:
  brew search [TEXT|/REGEX/]
  brew (info|home|options) [FORMULA...]
  brew install FORMULA...
  brew update
  brew upgrade [FORMULA...]
  brew uninstall FORMULA...
  brew list [FORMULA...]

Troubleshooting:
  brew config
  brew doctor
  brew install -vd FORMULA

Developers:
  brew create [URL [--no-fetch]]
  brew edit [FORMULA...]
  https://docs.brew.sh/Formula-Cookbook.html

Further help:
  man brew
  brew help [COMMAND]
  brew home

下面詳細介紹具體的使用

搜索軟件包

brew search [TEXT|/REGEX/]這個是進行搜索軟件包贡翘,參數(shù)支持正則表達式,

(data)  youdi@liangchangyoudeMacBook-Pro  ~  brew search nginx
==> Searching local taps...
nginx ?
==> Searching taps on GitHub...
homebrew/nginx/accesskey-nginx-module               homebrew/nginx/xsltproc-nginx-module                homebrew/nginx/anti-ddos-nginx-module               homebrew/nginx/set-misc-nginx-module
homebrew/nginx/ajp-nginx-module                     homebrew/nginx/geoip2-nginx-module                  homebrew/nginx/array-var-nginx-module               homebrew/nginx/stream-lua-nginx-module
1. brew search, -S:
顯示出本地所有可用的包砰逻,不加參數(shù)鸣驱,不會去線上去查詢,使用`brew search`或`brew -S`
2. brew search [--desc] (text|/text/):
   獲取一個軟件的短描述

3. brew search (--debian|--fedora|--fink|--macports|--opensuse|--ubuntu) text:
    獲取不同平臺上軟件的文檔信息
獲取軟件包信息

brew (info|home|options) [FORMULA…]

1.brew info

brew info formula

顯示這個軟件的信息,后面可以接的參數(shù)有 —github, —json=version等等

2.brew home

通過瀏覽器打開軟件的主頁

3.brew options

顯示軟件包的options信息,安裝時的蝠咆,默認的安裝信息

安裝軟件包

brew install FORMULA...

安裝軟件使用的命令踊东,也是我們使用最頻繁的。看看她的詳細參數(shù):

brew install [--debug][--env=(std|super)] [--ignore-dependencies|--only-dependencies][--cc=compiler] [--build-from-source|--force-bottle][--devel|--HEAD] [--keep-tmp][--build-bottle] formula [options …]

先來介紹最簡單的使用

安裝

brew install elinks

Homebrew 會將軟件包安裝到獨立目錄递胧,并將其文件軟鏈接至 /usr/local 碑韵。

$ cd /usr/local/Cellar
$ tree -L 3 elinks
elinks
└── 0.11.7_2
    ├── AUTHORS
    ├── COPYING
    ├── ChangeLog
    ├── INSTALL_RECEIPT.json
    ├── NEWS
    ├── README
    ├── TODO
    ├── bin
    └── share

3 directories, 7 files

$ cd /usr/local/bin
$ ll elinks
lrwxr-xr-x  1 youdi  admin    36B 10 15 15:32 elinks -> ../Cellar/elinks/0.11.7_2/bin/elinks

Homebrew 不會將文件安裝到它本身目錄之外,所以您可將 Homebrew 安裝到任意位置缎脾。

你可以使用man brewbrew install --help查看具體一些參數(shù)的使用祝闻,都很簡單。

升級和清理

brew update
brew upgrade
brew updte

會自動升級軟件包和自身

brew outdate

查看過時的軟件包,會有升級的版本號

brew upgrade

升級所有可以升級的

brew upgrade <formula>

升級具體的軟件包

brew upgrade <formula>

停止一些軟件包的更新和升級

brew unpin <formula>

將停止更新的軟件包設(shè)置為允許

brew cleanup <formula>

將軟件包的舊版本記錄清理掉
brew cleanup
清理所有

brew cleanup -n

顯示清理的內(nèi)容

brew --cahce

顯示緩存位置遗菠, 一般是在~/Library/Caches/Homebrew

查看安裝軟件包

brew list

brew list —help

brew list, ls [--full-name]:
   列出所有的安裝的軟件包联喘,可以接一些參數(shù),類似ls
    List all installed formulae. If --full-name is passed, print formulae
    with fully-qualified names. If --full-name is not passed, any other
    options (e.g. -t) are passed to ls which produces the actual output.

brew list, ls --unbrewed:
    List all files in the Homebrew prefix not installed by Homebrew.
    # diy方式安裝的軟件

brew list, ls [--versions [--multiple]] [--pinned] [formulae]:
    List the installed files for formulae. Combined with --verbose, recursively
    list the contents of all subdirectories in each formula's keg.

    If --versions is passed, show the version number for installed formulae,
    or only the specified formulae if formulae are given. With --multiple,
    only show formulae with multiple versions installed.

    If --pinned is passed, show the versions of pinned formulae, or only the
    specified (pinned) formulae if formulae are given.
    See also pin, unpin.

卸載軟件包

brew unisntall

這個命令也是使用比較頻繁的辙纬。
brew uninstall, rm, remove [--force][--ignore-dependencies]
rm豁遭,remove也是卸載命令
--force 強制卸載, 如果有依賴贺拣,也強制卸載
--ignore-dependencies 忽略依賴

管理服務(wù)

brew services

brew services [-v|--verbose] [list | run | start | stop | restart | cleanup] [...]

brew services [-v|--verbose] [list | run | start | stop | restart | cleanup] [...]
    Easily start and stop formulae via launchctl.
    With -v or --verbose, print more detail.

    Integrates Homebrew formulae with macOS' launchctl manager. Services can be
    added to either /Library/LaunchDaemons or ~/Library/LaunchAgents.
    Basically, items in /Library/LaunchDaemons are started at boot, while those
    in ~/Library/LaunchAgents are started at login.

    When started with sudo, it operates on /Library/LaunchDaemons; otherwise,
    it operates on ~/Library/LaunchAgents.

    On start the plist file is generated and written to a Tempfile, and then
    copied to the launch path (existing plists are overwritten).

    [sudo] brew services list
    List all running services for the current user (or root)

    [sudo] brew services run formula|--all
    Run the service formula without starting at login (or boot).

    [sudo] brew services start formula|--all
    Start the service formula immediately and register it to launch at login (or boot).

    [sudo] brew services stop formula|--all
    Stop the service formula immediately and unregister it from launching at login (or boot).

    [sudo] brew services restart formula|--all
    Stop (if necessary) and start the service immediately and register it to launch at login (or boot).

    [sudo] brew services cleanup
    Remove all unused services.
用法
1. brew services list
打印出安裝的所有服務(wù)
2. brew services run service_name
運行某個服務(wù)蓖谢,沒有運行,運行譬涡,運行的闪幽,重啟
3. brew services start| stop| restart  formula|--all
開啟,關(guān)閉涡匀,重啟

另外盯腌,自己定義服務(wù),記住/Library/LaunchDaemons, ~/Library/LaunchAgents, /Library/LaunchDaemons,修改對應(yīng)文件陨瘩。

總結(jié)

homebrew內(nèi)容很多腕够,另外,擴展性和靈活性也很強大舌劳,如果感興趣帚湘,可以去官網(wǎng)文檔 閱讀文檔學習。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末蒿囤,一起剝皮案震驚了整個濱河市客们,隨后出現(xiàn)的幾起案子崇决,更是在濱河造成了極大的恐慌材诽,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,126評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件恒傻,死亡現(xiàn)場離奇詭異脸侥,居然都是意外死亡,警方通過查閱死者的電腦和手機盈厘,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評論 2 382
  • 文/潘曉璐 我一進店門睁枕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事外遇∽⒉荆” “怎么了?”我有些...
    開封第一講書人閱讀 152,445評論 0 341
  • 文/不壞的土叔 我叫張陵跳仿,是天一觀的道長诡渴。 經(jīng)常有香客問我,道長菲语,這世上最難降的妖魔是什么妄辩? 我笑而不...
    開封第一講書人閱讀 55,185評論 1 278
  • 正文 為了忘掉前任,我火速辦了婚禮山上,結(jié)果婚禮上眼耀,老公的妹妹穿的比我還像新娘。我一直安慰自己佩憾,他們只是感情好哮伟,可當我...
    茶點故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著妄帘,像睡著了一般澈吨。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上寄摆,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天谅辣,我揣著相機與錄音,去河邊找鬼婶恼。 笑死桑阶,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的勾邦。 我是一名探鬼主播蚣录,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼眷篇!你這毒婦竟也來了萎河?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤蕉饼,失蹤者是張志新(化名)和其女友劉穎虐杯,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體昧港,經(jīng)...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡擎椰,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了创肥。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片达舒。...
    茶點故事閱讀 37,997評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡值朋,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出巩搏,到底是詐尸還是另有隱情昨登,我是刑警寧澤,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布贯底,位于F島的核電站篙骡,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏丈甸。R本人自食惡果不足惜糯俗,卻給世界環(huán)境...
    茶點故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望睦擂。 院中可真熱鬧得湘,春花似錦、人聲如沸顿仇。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽臼闻。三九已至鸿吆,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間述呐,已是汗流浹背惩淳。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留乓搬,地道東北人思犁。 一個月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓,卻偏偏與公主長得像进肯,于是被迫代替她去往敵國和親激蹲。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,722評論 2 345

推薦閱讀更多精彩內(nèi)容