Mac下Homebrew的安裝與使用

MacHomebrew的安裝與使用

?一蓑煙羽?關注

2017.10.19 11:59*?字數 515?閱讀 7684評論 0喜歡 3

Homebrew簡介,安裝與使用

簡介

Homebrew 官方網站

Homebrew是一個包管理器,用于安裝Apple沒有預裝但你需要的UNIX工具。(比如著名的wget)。

Homebrew會將軟件包安裝到獨立目錄(/usr/local/Cellar),并將其文件軟鏈接至/usr/local。

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

Homebrew使macOS更完整。使用gem來安裝gems、用brew來安裝那些依賴包。

wget是一個從網絡上自動下載文件的自由工具,支持通過?HTTP、HTTPS、FTP?三個最常見的?TCP/IP協議下載,并可以使用HTTP代理。"wget"?這個名稱來源于?“World Wide Web”?與?“get”?的結合。

安裝

  • 安裝XCode或者Command Line Tools for Xcode。Xcode可以從AppStore里下載安裝,Command Line Tools for Xcode需要在終端中輸入以下代碼運行安裝:
    xcode-select --install
  • 安裝Homebrew。將以下命令粘貼至終端
    /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

  • 腳本會在執行前暫停,并說明將它將做什么。

安裝完成以后,需要運行brew doctor命令檢測下是否有什么沖突的地方(如沒有卸載MacPorts等等)

Homebrew安裝成功后,會自動創建目錄/usr/local/Cellar來存放Homebrew安裝的程序。

  • 移除Homebrew。將以下命令粘貼至終端/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"

基本使用

// 搜索包

brew search mysql

// 安裝包

brew install mysql

// 查看包信息,比如目前的版本,依賴,安裝后注意事項等

brew info mysql

// 卸載包

brew uninstall wget

// 顯示已安裝的包

brew list

// 查看brew的幫助

brew –help

// 更新, 這會更新 Homebrew 自己

brew update

// 檢查過時(是否有新版本),這會列出所有安裝的包里,哪些可以升級

brew outdated

brew outdated mysql

// 升級所有可以升級的軟件們

brew upgrade

brew upgrade mysql

// 清理不需要的版本極其安裝包緩存

brew cleanup

brew cleanup mysql

brew unlink node

使用 unlink,只會刪除符號鏈接,但并不會刪除程序本身, /usr/local/Cellar 目錄中的程序文件還依然存在。這個功能在某些場景中非常有用,比如你需要某個程序包暫時失效,用于調試你正在進行的開發。

當 unlink 調試結束后,再運行 link 命令,就可以把相應的程序包恢復回來:

brew link node

包管理的好處是不是體現出來了。 你還可以用 brew info 命令查看當前安裝的 node 版本:

brew info

輸出:

node: stable 8.7.0 (bottled), HEAD

Platform built on V8 to build network applications

https://nodejs.org/

/usr/local/Cellar/node/8.7.0 (3,830 files, 45.5MB) *

? Poured from bottle on 2017-10-18 at 00:29:19

From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/node.rb

擴展:Homebrew Cask

你已經感受到了使用Homebrew安裝命令行程序的便利。那么接下來,我們將通過Homebrew Cask優雅、簡單、快速的安裝和管理OS X圖形界面程序,比如Google Chrome和Dropbox。

安裝

brew install caskroom/cask/brew-cask

使用

基本用法與brew相同,只不過在brew后面加了一個cask單詞。

// 安裝軟件

brew cask install google-chrome

// 卸載軟件

brew cask uninstall google-chrome

其他

JDK 8 can be downloaded from?Oracle's JDK Page.

// 安裝Bazel

brew install bazel

// 查看Bazel版本

bazel version

// 提示需要安裝java JDK

移除JAVA JDK

sudo rm -fr /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin

sudo rm -fr /Library/PreferencesPanes/JavaControlPanel.prefPane

sudo rm -fr ~/Library/Application\ Support/Java

sudo rm -rf /Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk

四、注意

在Mac OS X 10.11系統以后,/usr/local/等系統目錄下的文件讀寫是需要系統root權限的,以往的Homebrew安裝如果沒有指定安裝路徑,會默認安裝在這些需要系統root用戶讀寫權限的目錄下,導致有些指令需要添加sudo前綴來執行,比如升級Homebrew需要:

$ sudo brew update

如果你不想每次都使用sudo指令,你有兩種方法可以選擇:

  1. 對/usr/local 目錄下的文件讀寫進行root用戶授權
    $ sudo chown -R $USER /usr/local

  2. 示例:
    $ sudo chown -R gaojun /usr/local
  3. (推薦)安裝Homebrew時對安裝路徑進行指定,直接安裝在不需要系統root用戶授權就可以自由讀寫的目錄下
    <install path> -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Warning: /usr/local/bin is not in your PATH.

==> Installation successful!

安裝完成后提升告警,進行如下的操作:

終端輸入命令 export PATH=/usr/local/bin:$PATH

即可解決此問題

官網:https://brew.sh/index_zh-cn.html

server {

listen 80;

server_name localhost;

location / {

? proxy_pass http://127.0.0.1:8080;

}

}

/usr/local/Cellar/nginx/1.15.7/.bottle/etc/nginx/nginx.conf

/usr/local/etc/nginx/nginx.conf ?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/900552.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/900552.shtml
英文地址,請注明出處:http://en.pswp.cn/news/900552.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

非常適合做后臺項目的go腳手架

分享一個非常適合做后臺腳手架的go項目&#xff0c;該項目使用gin作為mvc框架搭建。她就是Gin-vue-admin。該一個基于 vue 和 gin 開發的全棧前后端分離的開發基礎平臺&#xff0c;集成jwt鑒權&#xff0c;動態路由&#xff0c;動態菜單&#xff0c;casbin鑒權&#xff0c;表單…

優化 Django 數據庫查詢

優化 Django 數據庫查詢 推薦超級課程: 本地離線DeepSeek AI方案部署實戰教程【完全版】Docker快速入門到精通Kubernetes入門到大師通關課AWS云服務快速入門實戰目錄 優化 Django 數據庫查詢**理解 N+1 查詢問題****`select_related`:外鍵的急加載**示例何時使用 `select_re…

大數據(5)Spark部署核彈級避坑指南:從高并發集群調優到源碼級安全加固(附萬億級日志分析實戰+智能運維巡檢系統)

目錄 背景一、Spark核心架構拆解1. 分布式計算五層模型 二、五步軍工級部署階段1&#xff1a;環境核彈級校驗階段2&#xff1a;集群拓撲構建階段3&#xff1a;黃金配置模板階段4&#xff1a;高可用啟停階段5&#xff1a;安全加固方案 三、萬億級日志分析實戰1. 案例背景&#x…

【學Rust寫CAD】36 顏色插值函數(alpha256.rs補充方法)

源碼 pub fn alpha_lerp(self,src: Argb, dst: Argb, clip: u32) -> Argb {self.alpha_mul_256(clip).lerp(src, dst)}這個函數 alpha_lerp 是一個顏色插值&#xff08;線性插值&#xff0c;lerp&#xff09;函數&#xff0c;它結合了透明度混合&#xff08;alpha_mul_256&…

解決Ubuntu系統鼠標不流暢的問題

電腦是聯想的臺式組裝機&#xff0c;安裝ubuntu系統&#xff08;不管是16、18、20、22&#xff09;后&#xff0c;鼠標都不流暢。最近幾天想解決這個問題&#xff0c;于是懷疑到了顯卡驅動上。懷疑之前一直用的是集成顯卡&#xff0c;而不是獨立顯卡&#xff0c;畢竟2060的顯卡…

oracle asm 相關命令和查詢視圖

有關asm磁盤的命令 添加磁盤 alter diskgroup data1 add disk /devices/diska*;---runs with a rebalance power of 5 , and dose not return until the rebalance operation is completealter diskgroup data1 add disk /devices/diskd* rebalance power 5 wait;查詢 select …

C++基于rapidjson的Json與結構體互相轉換

簡介 使用rapidjson庫進行封裝&#xff0c;實現了使用C對結構體數據和json字符串進行互相轉換的功能。最短只需要使用兩行代碼即可無痛完成結構體數據轉換為Json字符串。 支持std::string、數組、POD數據&#xff08;int,float,double等&#xff09;、std::vector、嵌套結構體…

Python爬蟲HTTP代理使用教程:突破反爬的實戰指南

目錄 一、代理原理&#xff1a;給爬蟲穿上"隱身衣" 二、代理類型選擇指南 三、代碼實戰&#xff1a;三行代碼實現代理設置 四、代理池管理&#xff1a;打造智能IP倉庫 代理驗證機制 動態切換策略 自動重試裝飾器 五、反反爬對抗技巧 請求頭偽裝 訪問頻率控…

STM32江科大----IIC

聲明&#xff1a;本人跟隨b站江科大學習&#xff0c;本文章是觀看完視頻后的一些個人總結和經驗分享&#xff0c;也同時為了方便日后的復習&#xff0c;如果有錯誤請各位大佬指出&#xff0c;如果對你有幫助可以點個贊小小鼓勵一下&#xff0c;本文章建議配合原視頻使用?? 如…

使用 React 和 Konva 實現一個在線畫板組件

文章目錄 一、前言二、Konva.js 介紹三、創建 React 畫板項目3.1 安裝依賴3.2 創建 CanvasBoard 組件 四、增加畫布控制功能4.1 清空畫布4.2 撤銷 & 重做功能 五、增加顏色和畫筆大小選擇5.1 選擇顏色5.2 選擇畫筆大小 六、最終效果七、總結 一、前言 在線畫板是許多應用&…

服務器配置虛擬IP

服務器配置虛擬IP的核心步驟取決于具體場景&#xff0c;主要包括本地單機多IP配置和高可用集群下的虛擬IP管理兩種模式。? 一、本地虛擬IP配置&#xff08;單服務器多IP&#xff09; ?基于Linux系統?&#xff1a; ?確認網絡接口?&#xff1a;使用 ip addr 或 ifconfig 查…

C++ —— 文件操作(流式操作)

C —— 文件操作&#xff08;流式操作&#xff09; ofstream文件創建文件寫入 ofstream 文件打開模式std::ios::out 寫入模式std::ios::app 追加模式std::ios::trunc 截斷std::ios::binary 二進制std::ios::ate at the end模式 ifstreamstd::ios::in 讀取模式&#xff08;默認&…

【Cursor】打開Vscode設置

在這里打開設置界面 打開設置json

智能指針和STL庫學習思維導圖和練習

思維導圖&#xff1a; #include <iostream> #include <vector> #include <string> using namespace std;// 用戶結構體 struct User {string username;string password; };vector<User> users; // 存儲所有注冊用戶// 使用迭代器查找用戶名是否存在 ve…

前端工具方法整理

文章目錄 1.在數組中找到匹配項&#xff0c;然后創建新對象2.對象轉JSON字符串3.JSON字符串轉JSON對象4.有個響應式對象&#xff0c;然后想清空所有屬性5.判斷參數不為空6.格式化字符串7.解析數組內容用逗號拼接8.刷新整個頁面 1.在數組中找到匹配項&#xff0c;然后創建新對象…

狀態空間建模與極點配置 —— 理論、案例與交互式 GUI 實現

目錄 狀態空間建模與極點配置 —— 理論、案例與交互式 GUI 實現一、引言二、狀態空間建模的基本理論2.1 狀態空間模型的優勢2.2 狀態空間模型的物理意義三、極點配置的理論與方法3.1 閉環系統的狀態反饋3.2 極點配置條件與方法3.3 設計流程四、狀態空間建模與極點配置的優缺點…

仿modou庫one thread one loop式并發服務器

源碼&#xff1a;田某super/moduo 目錄 SERVER模塊&#xff1a; Buffer模塊&#xff1a; Socket模塊&#xff1a; Channel模塊&#xff1a; Connection模塊&#xff1a; Acceptor模塊&#xff1a; TimerQueue模塊&#xff1a; Poller模塊&#xff1a; EventLoop模塊&a…

Oracle中的UNION原理

Oracle中的UNION操作用于合并多個SELECT語句的結果集&#xff0c;并自動去除重復行。其核心原理可分為以下幾個步驟&#xff1a; 1. 執行各個子查詢 每個SELECT語句獨立執行&#xff0c;生成各自的結果集。 如果子查詢包含過濾條件&#xff08;如WHERE&#xff09;、排序&…

面試算法高頻04-分治與回溯

分治與回溯 分治和回溯算法&#xff0c;包括其概念、特性、代碼模板&#xff0c;并結合具體題目進行講解&#xff0c;旨在幫助學員理解和掌握這兩種算法的應用。 分治與回溯的概念 分治&#xff08;Divide & Conquer&#xff09;&#xff1a;本質上基于遞歸&#xff0c;先…

線性方程組的解法

文章目錄 線性方程組的解法認識一些基本的矩陣函數MATLAB 實現機電工程學院教學函數構造1.高斯消元法2.列主元消去法3. L U LU LU分解法 線性方程組的解法 看到以下線性方程組的一般形式&#xff1a;設有以下的 n n n階線性方程組&#xff1a; A x b \mathbf{Ax}\mathbf{b} A…