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

