Mac開源開發(fā)環(huán)境搭建指南之一次配好Git、JDK、Maven、Docker
摘要
對(duì)于剛接觸開源或剛開始做 Java 開發(fā)的新手來說,第一道門檻往往不是代碼本身,而是環(huán)境配置。Git 怎么裝?JDK 用哪個(gè)版本?Maven 怎么配?Docker 為什么裝完還不能用?這些問題如果沒人帶,很容易在第一步就卡很久。本文基于 Mac 環(huán)境,按照實(shí)際開發(fā)和開源參與的常用路徑,詳細(xì)整理 Git、JDK、Maven、Docker 的安裝與配置步驟,并補(bǔ)充常見踩坑點(diǎn),盡量做到新手照著一步步操作也能配好。
前言
很多人剛接觸開源或者剛開始學(xué)開發(fā)時(shí),最先遇到的問題并不是“代碼不會(huì)寫”,而是:
工具裝不上
裝好了命令不能用
版本不對(duì)
環(huán)境變量沒生效
Docker 明明裝了,但運(yùn)行還是報(bào)錯(cuò)
Git 可以打開,但命令行里找不到
這些問題看起來不難,但如果是第一次配置,很容易一環(huán)卡一環(huán)。
我自己平時(shí)主要在 Mac 上做 Java 開發(fā),也會(huì)用 Git、Maven、Docker 這些工具?;仡^看,其實(shí)開發(fā)環(huán)境搭建最重要的不是“裝了多少工具”,而是:
先把最常用、最基礎(chǔ)、最容易影響后續(xù)開發(fā)的工具配好。
所以這篇文章我就按一個(gè)比較實(shí)用的順序來整理:
Git
JDK
Maven
Docker
這幾個(gè)配好以后,基本就具備了做 Java 開發(fā)和參與很多開源項(xiàng)目的基礎(chǔ)環(huán)境。
一、先說結(jié)論:一套最實(shí)用的 Mac 開發(fā)環(huán)境清單
如果你是新手,不想一開始就裝太多東西,那我建議先裝這 4 個(gè):
Git:代碼版本管理,參與開源幾乎繞不開
JDK:Java 開發(fā)運(yùn)行環(huán)境
Maven:Java 項(xiàng)目依賴管理和構(gòu)建工具
Docker:本地跑服務(wù)、數(shù)據(jù)庫(kù)、開源項(xiàng)目時(shí)很常用
如果是更完整一點(diǎn)的開發(fā)環(huán)境,還可以后續(xù)再補(bǔ):
IDE(IntelliJ IDEA / VS Code)
Homebrew
數(shù)據(jù)庫(kù)客戶端
API 調(diào)試工具
但這篇先聚焦最核心的四個(gè)。
二、開始之前:先確認(rèn)你的 Mac 是什么芯片
這一步看起來簡(jiǎn)單,但其實(shí)很重要。
因?yàn)楝F(xiàn)在很多 Mac 是 Apple Silicon,也就是 M 系列芯片,比如:
M1
M2
M3
而有些教程是按老款 Intel Mac 寫的。
如果你不先搞清楚自己的機(jī)器類型,后面在安裝軟件時(shí)可能會(huì)遇到:
下載錯(cuò)版本
路徑不一致
命令裝完后找不到
某些依賴兼容問題
怎么看自己的芯片
點(diǎn)擊左上角蘋果圖標(biāo):
關(guān)于本機(jī)
如果你看到的是:
Apple M1 / M2 / M3 → 說明是 Apple Silicon
Intel → 說明是 Intel Mac
為什么要先看這個(gè)
因?yàn)楹竺嫦?Homebrew 的默認(rèn)安裝路徑,經(jīng)常會(huì)不一樣:
Apple Silicon 常見路徑:/opt/homebrew
Intel 常見路徑:/usr/local
雖然這篇文章盡量用通用方式寫,但你最好先知道自己屬于哪種機(jī)器。
三、Git 安裝與配置
Git 是第一優(yōu)先級(jí)工具。
因?yàn)槟阒灰雲(yún)⑴c開源,基本就一定會(huì)接觸這些動(dòng)作:
clone 代碼
創(chuàng)建分支
提交 commit
拉取最新代碼
推送到遠(yuǎn)程倉(cāng)庫(kù)
提交 PR
所以 Git 建議最先裝。
3.1 查看系統(tǒng)里有沒有 Git
先打開終端,執(zhí)行:
git --version
如果能看到類似輸出:
git version 2.x.x
說明系統(tǒng)里已經(jīng)有 Git 了。
但這里要注意一點(diǎn):
有些 Mac 自帶的是系統(tǒng)層面的 Git,不一定是你后續(xù)最想用的版本。
如果只是初學(xué)者,先能用就行;如果你后面要長(zhǎng)期開發(fā),建議還是裝一套自己可控的版本。
3.2 推薦安裝方式:用 Homebrew 安裝 Git
如果你已經(jīng)安裝了 Homebrew,可以直接執(zhí)行:
brew install git
安裝完成后,再執(zhí)行:
git --version
確認(rèn)版本。
3.3 如果還沒裝 Homebrew,先裝 Homebrew
Homebrew 是 Mac 上非常常用的包管理工具。
你后面裝 Git、Maven 甚至很多其他工具時(shí),都會(huì)方便很多。
安裝命令:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
安裝完成后,根據(jù)終端提示,把 Homebrew 加到環(huán)境變量里。
如果你是 Apple Silicon,通常是類似這樣:
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile eval "$(/opt/homebrew/bin/brew shellenv)"
然后執(zhí)行:
brew --version
看到版本信息就說明安裝成功了。
3.4 配置 Git 用戶信息
Git 裝完后,建議先把基礎(chǔ)身份信息配一下。
git config --global user.name "你的名字" git config --global user.email "你的郵箱"
例如:
git config --global user.name "zhangsan" git config --global user.email "zhangsan@example.com"
查看配置是否成功:
git config --global --list
你應(yīng)該能看到類似:
user.name=zhangsan user.email=zhangsan@example.com
3.5 新手常見 Git 踩坑
1)終端里能打開 Git,但 IDEA / VS Code 識(shí)別不到
這通常是路徑問題,或者 IDE 沒有自動(dòng)識(shí)別到 Git 可執(zhí)行文件路徑。
2)提交代碼時(shí)報(bào)身份錯(cuò)誤
一般就是 user.name 和 user.email 沒配。
3)HTTPS 拉代碼總要輸入密碼
現(xiàn)在很多代碼托管平臺(tái)已經(jīng)不建議直接用賬號(hào)密碼了,通常要配:
Token
SSH Key
如果你后面準(zhǔn)備長(zhǎng)期參與開源,建議后續(xù)再單獨(dú)配置 SSH Key。
四、JDK 安裝與配置
如果你要做 Java 開發(fā),JDK 肯定繞不過去。
但新手最容易糾結(jié)的問題是:
JDK 該裝哪個(gè)版本?
JRE 和 JDK 有什么區(qū)別?
系統(tǒng)里裝了多個(gè)版本怎么辦?
4.1 新手先記一個(gè)結(jié)論
如果你是剛開始接觸 Java 開發(fā),或者只是先跑項(xiàng)目,我建議優(yōu)先考慮:
JDK 8
JDK 17
為什么是這兩個(gè)?
很多老項(xiàng)目還在用 JDK 8
很多新項(xiàng)目逐漸轉(zhuǎn)到 JDK 17
這兩個(gè)版本在實(shí)際開發(fā)里最常見
如果你已經(jīng)知道目標(biāo)項(xiàng)目要求哪個(gè)版本,那就按項(xiàng)目要求來。
4.2 查看系統(tǒng)是否已有 Java
打開終端執(zhí)行:
java -version
如果系統(tǒng)已經(jīng)安裝 Java,會(huì)看到版本信息。
再執(zhí)行:
javac -version
如果 javac 也有輸出,說明 JDK 工具鏈比較完整。
4.3 推薦安裝方式:用 Homebrew 安裝 OpenJDK
例如安裝 JDK 17:
brew install openjdk@17
安裝完成后,終端一般會(huì)提示你做路徑配置。
例如常見做法:
echo 'export PATH="/opt/homebrew/opt/openjdk@17/bin:$PATH"' >> ~/.zshrc source ~/.zshrc
然后確認(rèn)版本:
java -version javac -version
4.4 設(shè)置 JAVA_HOME
很多 Java 工具會(huì)依賴 JAVA_HOME,所以建議一起配置。
可以先查看安裝路徑:
/usr/libexec/java_home -V
然后把對(duì)應(yīng)版本配置進(jìn)環(huán)境變量,例如:
export JAVA_HOME=$(/usr/libexec/java_home -v 17) export PATH=$JAVA_HOME/bin:$PATH
把這兩行加到你的 ~/.zshrc 里:
echo 'export JAVA_HOME=$(/usr/libexec/java_home -v 17)' >> ~/.zshrc echo 'export PATH=$JAVA_HOME/bin:$PATH' >> ~/.zshrc source ~/.zshrc
檢查:
echo $JAVA_HOME java -version
4.5 多版本 JDK 怎么辦
比如你可能有:
一個(gè)項(xiàng)目要 JDK 8
一個(gè)項(xiàng)目要 JDK 17
這時(shí)候不要慌,Mac 是可以共存多個(gè) JDK 的。
關(guān)鍵是你要知道當(dāng)前終端使用的是哪個(gè)版本。
可以用:
/usr/libexec/java_home -V
查看所有可用版本。
臨時(shí)切換某個(gè)終端會(huì)話的 JDK:
export JAVA_HOME=$(/usr/libexec/java_home -v 8) export PATH=$JAVA_HOME/bin:$PATH
這樣只影響當(dāng)前終端窗口。
4.6 JDK 常見踩坑
1)java -version有輸出,但 javac -version沒有
這通常說明你裝的不是完整 JDK,或者 PATH 沒配對(duì)。
2)IDE 里的 JDK 和終端里的 JDK 不一致
這個(gè)很常見。終端配置好了,不代表 IDEA 里自動(dòng)跟著變,IDE 里還要單獨(dú)檢查項(xiàng)目 SDK。
3)Maven 編譯時(shí)報(bào)版本不對(duì)
很多時(shí)候不是 Maven 壞了,而是它拿到的 JAVA_HOME 不是你以為的那個(gè)版本。
五、Maven 安裝與配置
Maven 是 Java 項(xiàng)目里非常常用的構(gòu)建工具。
很多開源 Java 項(xiàng)目你剛 clone 下來,第一步就是:
mvn clean install
所以 Maven 也建議盡早裝好。
5.1 查看系統(tǒng)里有沒有 Maven
執(zhí)行:
mvn -version
如果能看到版本信息,說明已經(jīng)裝過。
如果提示找不到命令,就需要安裝。
5.2 用 Homebrew 安裝 Maven
brew install maven
安裝完成后執(zhí)行:
mvn -version
如果看到類似輸出:
Apache Maven 3.x.x Java version: 17
說明 Maven 能正常工作。
這里你還可以順便檢查 Maven 實(shí)際使用的是哪個(gè) Java 版本。
5.3 Maven 的 settings.xml 配置
Maven 裝完能用,不代表配置就完整了。
實(shí)際開發(fā)里,通常還會(huì)配一個(gè) settings.xml 文件,比如:
配置本地倉(cāng)庫(kù)位置
配置鏡像源
配置私 服
配置認(rèn)證信息
Maven 的用戶級(jí)配置目錄通常在:
~/.m2/
如果沒有,可以自己創(chuàng)建。
常見文件:
~/.m2/settings.xml
5.4 一個(gè)常見的基礎(chǔ)配置思路
新手一開始可以先只理解這兩個(gè)配置。
1)本地倉(cāng)庫(kù)地址
例如:
<localRepository>/Users/yourname/.m2/repository</localRepository>
它表示 Maven 下載下來的依賴包放在哪。
2)鏡像配置
如果你直接用默認(rèn)中央倉(cāng)庫(kù),有時(shí)候下載會(huì)比較慢。
所以很多人會(huì)配置鏡像源。
這個(gè)屬于“優(yōu)化項(xiàng)”,不是“不配就完全不能用”,但實(shí)際體驗(yàn)會(huì)差很多。
5.5 Maven 常見踩坑
1)mvn -version 能運(yùn)行,但項(xiàng)目依賴下載很慢
通常和網(wǎng)絡(luò)、鏡像源有關(guān)。
2)終端里 Maven 正常,IDE 里構(gòu)建失敗
可能是 IDEA 使用了自己的 Maven 配置,或者 JDK 設(shè)置不一致。
3)報(bào) Java 版本不匹配
要重點(diǎn)檢查:
JAVA_HOME
mvn -version 顯示的 Java 版本
項(xiàng)目 pom.xml 里的編譯版本
六、Docker 安裝與配置
Docker 對(duì)現(xiàn)在很多開發(fā)場(chǎng)景都很有幫助,尤其是:
本地起數(shù)據(jù)庫(kù)
啟動(dòng) Redis、Nacos、MySQL、PostgreSQL 等服務(wù)
跑一些開源項(xiàng)目依賴環(huán)境
統(tǒng)一開發(fā)環(huán)境
如果你打算接觸開源,Docker 很值得盡早學(xué)會(huì)。
6.1 Mac 上推薦直接安裝 Docker Desktop
Mac 新手最省事的方式,一般是安裝 Docker Desktop。
安裝后,你會(huì)同時(shí)得到:
Docker 引擎
Docker CLI
圖形化管理界面
一些基礎(chǔ)容器能力
安裝完成后,記得真正打開一次 Docker Desktop。
因?yàn)楹芏嗳艘詾?ldquo;裝完就能用”,其實(shí)如果 Docker Desktop 沒啟動(dòng),命令行里還是可能報(bào)錯(cuò)。
6.2 檢查 Docker 是否可用
先執(zhí)行:
docker --version
如果有輸出,說明命令行工具已經(jīng)裝上了。
再執(zhí)行:
docker info
如果這一步也正常輸出,說明 Docker 服務(wù)也已經(jīng)可用了。
你還可以跑一個(gè)測(cè)試容器:
docker run hello-world
如果能順利跑起來,就說明 Docker 環(huán)境基本正常。
6.3 Docker Desktop 常見問題
1)命令有了,但 docker info 報(bào)錯(cuò)
通常是 Docker Desktop 沒啟動(dòng)。
2)安裝后提示權(quán)限相關(guān)問題
按系統(tǒng)提示完成授權(quán)即可。
3)拉鏡像很慢
這通常不是 Docker 本身沒裝好,而是鏡像拉取速度問題。這個(gè)在不同網(wǎng)絡(luò)環(huán)境下差異會(huì)很大。
6.4 新手先會(huì)這幾個(gè) Docker 命令就夠了
不用一上來學(xué)太多,先記住最常用的:
docker --version docker info docker ps docker ps -a docker images docker run hello-world docker logs 容器ID docker stop 容器ID docker start 容器ID docker rm 容器ID
等你后面真正開始跑 MySQL、Redis、Nacos 之類服務(wù)時(shí),再逐步擴(kuò)展就夠了。
七、環(huán)境變量到底是什么,新手怎么理解
很多新手第一次配置環(huán)境時(shí),最容易被“環(huán)境變量”這四個(gè)字嚇到。
其實(shí)你可以先把它簡(jiǎn)單理解成:
告訴終端:某個(gè)命令程序在哪、某些工具該用哪個(gè)路徑。
比如:
配置 PATH,是為了讓系統(tǒng)知道 java、mvn、git 這些命令去哪里找
配置 JAVA_HOME,是為了讓 Java 相關(guān)工具知道 JDK 在哪里
如果你不配環(huán)境變量,最常見的表現(xiàn)就是:
工具明明裝了,但命令找不到
版本不對(duì)
某些程序調(diào)用不到你想要的 JDK
八、我建議的新手安裝順序
如果你完全從 0 開始,我建議按這個(gè)順序來:
第一步:Homebrew
因?yàn)樗軒湍愫竺嫜b很多工具。
第二步:Git
先把最基礎(chǔ)的版本管理工具裝好。
第三步:JDK
Java 項(xiàng)目必須依賴。
第四步:Maven
Java 項(xiàng)目構(gòu)建和依賴下載要用。
第五步:Docker
后續(xù)跑服務(wù)、跑項(xiàng)目、學(xué)開源都很有幫助。
這樣配下來,路徑會(huì)比較清晰,不容易亂。
九、配完之后,怎么快速自檢
環(huán)境裝完以后,不要急著結(jié)束,最好做一遍自檢。
你可以依次執(zhí)行:
brew --version git --version java -version javac -version echo $JAVA_HOME mvn -version docker --version docker info
如果這些命令大部分都正常,你的開發(fā)環(huán)境就已經(jīng)比較完整了。
十、我自己總結(jié)的幾個(gè)經(jīng)驗(yàn)
1)不要一上來裝一堆工具
先裝最核心的,能跑起來最重要。
2)每裝完一個(gè)工具都做一次命令驗(yàn)證
不要最后一起驗(yàn),不然出了問題不容易定位。
3)先把終端環(huán)境配通,再去配 IDE
很多問題不是 IDEA 的問題,而是底層終端環(huán)境沒配好。
4)新手最容易卡住的不是安裝,而是“裝完后命令找不到”
所以一定要理解一點(diǎn)點(diǎn) PATH 和環(huán)境變量。
5)環(huán)境配置文不要只抄命令,最好知道每一步大概在做什么
哪怕現(xiàn)在理解得不深,也比純復(fù)制粘貼強(qiáng)。
總結(jié)
對(duì)于剛接觸開發(fā)或者剛想?yún)⑴c開源的新手來說,環(huán)境配置確實(shí)是第一道門檻。
但換個(gè)角度看,只要把最核心的幾個(gè)工具先配好,后面的事情會(huì)順很多。
這篇文章主要整理了 Mac 上最常用的四個(gè)基礎(chǔ)開發(fā)工具:
Git
JDK
Maven
Docker
我的建議是:
先把基礎(chǔ)工具配穩(wěn),再去跑項(xiàng)目、看源碼、提 PR。
因?yàn)殚_源入門真正最怕的,不是“不會(huì)寫代碼”,而是第一步就被環(huán)境問題勸退。
如果你現(xiàn)在正準(zhǔn)備開始自己的 Mac 開發(fā)環(huán)境搭建,希望這篇文章能幫你少踩一些坑。
到此這篇關(guān)于Mac開源開發(fā)環(huán)境搭建指南之一次配好Git、JDK、Maven、Docker的文章就介紹到這了,更多相關(guān)Mac搭建Git、JDK、Maven、Docker內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Springboot如何優(yōu)雅的關(guān)閉應(yīng)用
這篇文章主要介紹了Springboot如何優(yōu)雅的關(guān)閉應(yīng)用問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-08-08
springboot如何讀取自定義properties并注入到bean中
這篇文章主要介紹了springboot讀取自定義properties并注入到bean中,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-11-11
關(guān)于@Scheduled不執(zhí)行的原因分析
這篇文章主要介紹了關(guān)于@Scheduled不執(zhí)行的原因分析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-12-12
Java基于Calendar類輸出指定年份和月份的日歷代碼實(shí)例
這篇文章主要介紹了Java 使用Calendar類輸出指定年份和月份的日歷,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-02-02
Shiro安全框架的主要組件及認(rèn)證過程簡(jiǎn)介
這篇文章主要介紹了Shiro安全框架的主要組件及認(rèn)證過程簡(jiǎn)介,Shiro?是一個(gè)強(qiáng)大靈活的開源安全框架,可以完全處理身份驗(yàn)證、授權(quán)、加密和會(huì)話管理,本文就來介紹一下此框架的核心組成,需要的朋友可以參考下2023-08-08

