M1 Macbook 編程開發(fā)軟件安裝大起底
M1 Macbook 編程開發(fā)軟件安裝
“最近新買了2020款M1芯片的Macbook,鼓搗了一天的軟件安裝,記錄下適配 ARM 架構(gòu) M1 芯片的相關(guān)開發(fā)軟件安裝過程,希望幫到有需要的朋友。
”
M1芯片Mac Homebrew 安裝
ARM版Homebrew需要安裝在/opt/homebrew路徑下,早期的時候需要手動創(chuàng)建目錄執(zhí)行命令,目前使用最新腳本不需要手動操作。
直接執(zhí)行:
/bin/bash?-c?"$(curl?-fsSL?https://cdn.jsdelivr.net/gh/ineo6/homebrew-install/install.sh)"
然后還需設(shè)置環(huán)境變量,具體操作步驟如下:
從macOS Catalina(10.15.x) 版開始,Mac使用zsh作為默認Shell,使用.zprofile,M1 款的MacBook肯定是比這個版本高的,所以對應(yīng)命令:
echo?'eval?"$(/opt/homebrew/bin/brew?shellenv)"'?>>?~/.zprofile
eval?"$(/opt/homebrew/bin/brew?shellenv)"
設(shè)置鏡像
注意:本文中的安裝腳本會設(shè)置中科大源鏡像,如果你也想設(shè)置cask和bottles的鏡像,請按下面注釋部分選擇執(zhí)行代碼。
#?brew
git?-C?"$(brew?--repo)"?remote?set-url?origin?https://mirrors.ustc.edu.cn/brew.git
#?core
git?-C?"$(brew?--repo?homebrew/core)"?remote?set-url?origin?https://mirrors.ustc.edu.cn/homebrew-core.git
#?bottles?for?zsh
echo?'export?HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles/bottles'?>>?~/.zprofile
source?~/.zprofile
M1芯片Mac 安裝JDK
Jdk推薦選擇zulu jdk,這個是適配Arm架構(gòu)的jdk,下載鏈接:https://www.azul.com/downloads/zulu-community/?package=jdk
根據(jù)需求選擇.dmg格式的jdk下載,然后直接安裝就好了,這個會自動配置好環(huán)境變量,不需要自己配置,直接測試就好了(第一次使用mac電腦,確實絲滑)。
M1芯片Mac 安裝Maven
直接使用homebrew安裝即可:
brew?install?maven
M1芯片Mac 安裝git
直接使用homebrew安裝即可:
brew?install?git
git ssh 配置
查看是否已配置:
cd ~/.ssh如果不能進入該目錄,說明沒生成過;檢查下是否配置過git賬戶:
git config --list
重新配置
重新配置,也要在Terminal終端進行:
- 配置賬戶
git?config?--global?user.name?"account?name"???->用戶名,建議拼音或英文
git?config?--global?user.email?"account?email"???->郵箱地址
- 生成秘鑰
ssh-keygen?-t?rsa?-C?"account?email"?->上面的郵箱地址
連續(xù)按3次enter完成創(chuàng)建。
- 上面的步驟就完成了賬戶創(chuàng)建、秘鑰生成,.ssh文件夾下就多了c
id_rsa(私有秘鑰)和id_rsa.pub(公有密鑰),下一步要查看并復(fù)制:
cat?~/.ssh/id_rsa.pub
- Github 中添加 SSH KEY
打開 github --> setting , 選擇 SSH and GPC keys --> NEW SSH key 將復(fù)制的公鑰粘貼進去保存。
測試配置
[email protected]
M1芯片Mac 安裝Mysql8.0
推薦一個mysql的國內(nèi)鏡像,比起官方網(wǎng)站,還是快了不少,也不會下載什么亂七八糟的東西:http://mirrors.sohu.com/mysql/
這里我們搜索選擇8.0版本,下載即可.
然后就是雙擊安裝,一直下一步即可完成。
配置環(huán)境變量
echo?'export?PATH=$PATH:/usr/local/mysql/bin'?>>?~/.zprofile
echo?'export?PATH=$PATH:/usr/local/mysql/support-files'?>>?~/.zprofile
source?~/.zprofile
“這里要注意,m1 款mac安裝的big sur系統(tǒng),這個版本的shell默認是zsh,所以我們配置的是
”.zprofile
測試一下是否成功:mysql -u root -p
偏好設(shè)置中啟動不了mysql服務(wù):
sudo?chown?-R?mysql?/usr/local/mysql/data
M1芯片Mac 安裝 Idea2021 并激活
目前Idea已經(jīng)官方支持了apple m1芯片,直接官網(wǎng)下載即可:https://www.jetbrains.com/idea/download/#section=mac
注意選擇 apple 版本的下載,雙擊安裝即可。

Idea激活(2021.1版本)
“激活日期:2021.04.17 , 注意我使用的版本和目前激活的時間,不排除后面激活不了的情況。
”
順便說一下,2021年4月13日更新!
BetterIntelliJ已被下架,市面上傳播的插件可能被黑客惡意篡改,存在安全隱患。停止使用,望周知!
所以可通過無限重置試用30天試用期的方法激活使用。
首先,下載無限重置30天試用期補?。?/p>
“補丁無法在文章內(nèi)上傳,有需求的關(guān)注:七哥編程說 微信公眾號,回復(fù):idea2021,即可下載。
”
下載完成后,將 zip 插件包拖入 IDE 界面中。如果無法拖動安裝,你可以在Settings/Preferences... -> Plugins 里手動安裝插件(Install Plugin From Disk...):

“PS: macOS 系統(tǒng)可能會自動解壓,然后把zip包丟進回收站, 需要從回收站拷貝到你的目錄下,需要注意以下~
”
如何使用
手動喚出插件的主界面:
如果IDE沒有打開項目,在Welcome界面點擊菜單:Get Help -> Eval Reset
如果IDE打開了項目,點擊菜單:Help -> Eval Reset

- 喚出的插件主界面中包含了一些顯示信息,2個按鈕,1個勾選項:

按鈕:Reload 用來刷新界面上的顯示信息。
按鈕:Reset 點擊會詢問是否重置試用30天并重啟IDE。選擇Yes則執(zhí)行重置操作并重啟IDE生效,選擇No則什么也不做。(此為手動重置方式)
勾選項:
Auto reset before per restart如果勾選了,則每次重啟/退出IDE時會自動重置試用信息,你無需做額外的事情。(此為自動重置方式)
查看剩余的試用期
進入 IDEA 界面后,點擊 Help -> Register 查看:
可以看到,試用期還剩余30天:

總結(jié):簡單來說,勾選了 Auto reset before per restart 則無需再管,重置是靜默無感知的,一勞永逸。
Mac M1 Terminal 安裝(iTerm2+Oh My Zsh+zsh-syntax-highlighting)
“網(wǎng)上的教程已經(jīng)很多了,但是很多還是不夠詳細,我這里總結(jié)了一個全面的教程。
”
查看系統(tǒng)shell是否安裝zsh
用下面這個命令即可查看(M1默認使用的是 zsh):
echo?$SHELL
安裝iTem2
iTerms2 下載地址點擊這里:https://iterm2.com/
iterm2的設(shè)置里選擇
profiles-->colors中選擇Solarized Dark

安裝 Oh My Zsh
“Oh My Zsh是一個開源的、社區(qū)驅(qū)動的框架,用于管理您的Zsh配置.
”
- 官網(wǎng)提供的安裝方式:
sh?-c?"$(curl?-fsSL?https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
這種方式一般會因為 github登陸失敗(443)而無法安裝,因此推薦采用下面的方式安裝:
- 手動安裝oh-my-zsh
- 克隆oh-my-zsh
git?clone?https://gitee.com/mirrors/oh-my-zsh?~/.oh-my-zsh
- 將
.oh-my-zsh文件里的的zshrc.zsh-template文件復(fù)制成 zshrc 文件:
cp?~/.oh-my-zsh/templates/zshrc.zsh-template?~/.zshrc
設(shè)置主題
打開 zshrc 文件后將 ZSH_THEME="robbyrussell"修改為ZSH_THEME="agnoster"
vim ~/.zshrc

- 修改完后保存退出
zshrc文件,刷新配置文件即可:
zsh?~/.zshrc
如果文字有亂碼情況
- 解決亂碼,下載Powerline字體,安裝后可以刪除這個git項目,不占用我們的存盤空間。
????//clone?克隆
????git?clone?[https://github.com/powerline/fonts.git](https://github.com/powerline/fonts.git)
????//?install?安裝
????cd?fonts
????./install.sh
- 安裝完字體庫之后,把iTerm 2的設(shè)置中的
Profile中的Text選項卡中里的、 Font 和 Non-ASCII Font的字體都設(shè)置成 Powerline的字體,我這里設(shè)置的字體是Meslo LG S DZ for Powerline

命令提示和語法高亮插件安裝
- 安裝歷史命令提示插件
git?clone?git://github.com/zsh-users/zsh-autosuggestions?$ZSH_CUSTOM/plugins/zsh-autosuggestions
- 安裝語法高亮插件
git?clone?git://github.com/zsh-users/zsh-syntax-highlighting?$ZSH_CUSTOM/plugins/zsh-syntax-highlighting
- 配置插件,修改 .zshrc
vim?~/.zshrc
#?在文件里找到plugins,修改為
plugins=(
??git
??zsh-autosuggestions
??zsh-syntax-highlighting
)

- 生效配置
zsh ~/.zshrc
至此,Mac M1 安裝 iTerm2+Oh My Zsh+zsh-syntax-highlighting 已經(jīng)完成,我是第一次使用mac電腦,再折騰的過程中我是越來越喜歡了,真香!
如果這篇文章對你有幫助,歡迎關(guān)注我,之后我也會分享更多 M1 Mac 相關(guān)的教程,感謝閱讀。
M1 Mac 安裝Redis
“經(jīng)過網(wǎng)上查找資料,確定通過 homebrew 來安裝是最簡單的,如果你沒有安裝homebrew 可以參考上面我的教程。
”
brew?install?redis

默認安裝最新版本的redis,目前6.2.1版本已經(jīng)原生支持了 arm架構(gòu)的m1芯片,真的是爽??。
常用命令
- 啟動redis服務(wù),上圖安裝成功的提示中已經(jīng)寫了:
#?后臺啟動服務(wù)
brew?services?start?redis
#?非后臺方式啟動
redis-server?/opt/homebrew/etc/redis.conf
- 關(guān)閉redis服務(wù)
brew?services?stop?redis
- 重啟redis服務(wù)
brew?services?restart?redis
- 客戶段連接
redis-cli
- 開機啟動redis命令
ln?-sfv?/opt/homebrew/opt/redis/*.plist?~/Library/LaunchAgents
- 停止redis服務(wù)
redis-cli?shutdown
- 卸載redis
brew?uninstall?redis?rm?~/Library/LaunchAgents/homebrew.mxcl.redis.plist
- 允許遠程訪問
vim?/opt/homebrew/etc/redis.conf
#?注釋bind,默認情況下?redis不允許遠程訪問,只允許本機訪問
#bind?127.0.0.1
注:在redis3.2之后,redis增加了protected-mode,在這個模式下,即使注釋掉了bind 127.0.0.1,再訪問redisd時候還是報錯,需要把protected-mode yes改為protected-mode no
M1 Mac Xmind 2020 安裝破解
“本教程教過本人親測,注意版本不要搞錯,m1 mac是可以使用的。我折騰了倆小時,網(wǎng)上坑貨太多了,為了一個破解版各種坑人關(guān)注,下載額外軟件啥的,掌握搜索技能很關(guān)鍵呀。
”
首先直接下載我找好的xmind安裝包,和破解補丁包,關(guān)注本公眾號回復(fù):xmind2020
xmind 2020 10.3.1 這個版本是已經(jīng)適配了m1 芯片的mac,可以完美運行的,xmind安裝包是我在官網(wǎng)上下載的,之所以也分享出來是因為目前官網(wǎng)是最新的這個包,后面有新版本了,避免破解補丁和安裝包不兼容。
破解步驟
解壓補丁包,里面只有一個 app.asar 包,將其復(fù)制到xmind安裝目錄的Resource目錄下:
cp Downloads/XMind_2020_10.3.1_MAC_補丁/app.asar /Applications/XMind.app/Contents/Resources
就是一個簡單的cp命令,你也可以直接 ctrl+c、ctrl+v 復(fù)制到對應(yīng)的目錄,然后打開xmind就會發(fā)現(xiàn)已經(jīng)激活,不再是試用版,無水印了。
M1 Mac 安裝 Docker
目前Docker已經(jīng)支持了M1芯片的版本,直接下載即可:https://www.docker.com/products/docker-desktop

安裝完成后,在終端輸入docker --version 驗證:

M1 Mac 安裝Nginx
直接使用homebrew安裝即可:
brew install nginx

我安裝的目前最新版是1.19.0 版本,啟動測試一下:
brew services start nginx
啟動成功后,訪問 http://localhost:8080 看到下圖表示已經(jīng)安裝啟動ok了。

M1 Mac 安裝zookeeper
使用homebrew 查看可用的zookeeper版本:

可以看到最新可用的穩(wěn)定版本是 3.7.0 ,但是直接使用 homebrew 安裝會報錯:
sevenluo@192??~??brew?install?zookeeper
Error:?zookeeper:?no?bottle?available!
You?can?try?to?install?from?source?with:
??brew?install?--build-from-source?zookeeper
Please?note?building?from?source?is?unsupported.?You?will?encounter?build
failures?with?some?formulae.?If?you?experience?any?issues?please?create?pull
requests?instead?of?asking?for?help?on?Homebrew's?GitHub,?Twitter?or?any?other
official?channels.
嘗試手動編譯依然報錯:
[ERROR]?Failed?to?execute?goal?org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile?(pre-compile-jute)?on?project?zookeeper-jute:?Fatal?error?compiling:?錯誤:?無效的標記:?-Xdoclint:-missing?->?[Help?1]
所以直接去官網(wǎng)下載:下載地址點擊這里

下載完成后,解壓:
//解壓
tar?-zxvf?zookeeper-3.7.0-bin.tar.gz?
//移動到應(yīng)用目錄
sudo?mv?apache-zookeeper-3.7.0-bin?/usr/local/?
//?更改默認配置文件名稱
cd?/usr/local/apache-zookeeper-3.7.0-bin/conf
mv?zoo_sample.cfg?zoo.cfg?
啟動server:
//?切換到?bin目錄
cd?/usr/local/apache-zookeeper-3.7.0/bin
//?啟動
./zkserver.sh?start

客戶端連接
./zkCli.sh start
連接成功后,運行下面的測試命令:
zk:?localhost:2181(CONNECTED)?0]?ls?/
[zookeeper]
[zk:?localhost:2181(CONNECTED)?1]?create?/zk_test?sevenluo
Created?/zk_test
[zk:?localhost:2181(CONNECTED)?2]?ls?/
[zk_test,?zookeeper]
[zk:?localhost:2181(CONNECTED)?3]?get?/zk_test
sevenluo
[zk:?localhost:2181(CONNECTED)?4]?delete?/zk_test
[zk:?localhost:2181(CONNECTED)?5]?ls?/
[zookeeper]
停止Server
//?停止命令
./zkServer.sh?stop
/usr/bin/java
ZooKeeper?JMX?enabled?by?default
Using?config:?/usr/local/apache-zookeeper-3.7.0/bin/../conf/zoo.cfg
Stopping?zookeeper?...?STOPPED
至此,zookeeper 3.7.0 已經(jīng)在 M1 芯片的 Mac上運行成功。
說明
本文只是對后端開發(fā)必備的軟件進行安裝和測試,證明 zk 在 m1 mac 上可用的,不涉及zookeeper具體的配置和學(xué)習(xí)。如果對你有幫助,歡迎點贊關(guān)注我,后續(xù)會持續(xù)分享更多軟件測試安裝教程。
m1 Mac 安裝 Navicat Premium
“Navicat Premium for mac是一個可多重連接的數(shù)據(jù)庫管理工具,Navicat 的功能足以符合專業(yè)開發(fā)人員的所有需求,但是對數(shù)據(jù)庫服務(wù)器的新手來說又相當(dāng)容易學(xué)習(xí)。它可讓你以單一程序同時連接到目前世面上所有版本的主流數(shù)據(jù)庫并進行管理和操作,支持的數(shù)據(jù)庫有:MySQL、SQL Server、SQLite、Oracle 及 PostgreSQL。讓管理不同類型的數(shù)據(jù)庫更加方便。(打不開應(yīng)用的看安裝包里的注意事項)
”
直接分享已經(jīng)安裝成功的版本,不需要破解和付費:
鏈接: https://pan.baidu.com/s/1ORZsdxb7pAMvAk6bmBs-1Q ?密碼: e1is

Github 訪問速度慢,圖片無法加載問題,一勞永逸的解決方法
“不知道從什么時候我訪問github就無法展示圖片了,不過也一直沒在意,有時候沒有圖片無法解決問題,我就繼續(xù)搜索其他解決方法。
”
今天,心血來潮,想著探究一把到底為什么?沒有圖片逼死強迫癥有木有,也影響了我們學(xué)習(xí)的熱情,今天這里記錄下我的解決方案。
**訪問不了的原因:**實際上,可以認為,就是用一個錯誤的域名訪問了某個節(jié)點的https資源。導(dǎo)致這個錯誤的原因,基本是:
- dns污染
- host設(shè)置錯誤
- 官方更新了dns,但是dns緩存沒有被更新,導(dǎo)致錯誤解析。
所以解決方案最簡單的就是設(shè)置hosts文件,不過網(wǎng)上很多教程就是要自己手動定期去查詢域名對應(yīng)的ip地址然后更新本地hosts文件,這種方法的問題就是過一段時間可能就訪問不了了,需要自己手動查詢最新的ip地址更新到本地hosts文件。
本文分享一種可以一勞永逸,一次設(shè)置,自動更新的方法,媽媽再也不用擔(dān)心我的學(xué)習(xí)了(大概率配置好我也不會經(jīng)常訪問,嘿誒)。
解決方法
按照網(wǎng)上教程的方法,我們需要找到電腦的 hosts,然后經(jīng)過下面的步驟修改:
- 切換到hosts文件目錄
- 沒有權(quán)限需要復(fù)制一份后修改然后替換到原目錄;
今天我們拋棄這種手動更新的方法,推薦一款管理 hosts 的神器:SwitchHosts.
“SwitchHosts 是一個管理、切換多個 hosts 方案的工具。它是一個免費開源軟件。
”
這也是我最近在研究如果解決 github圖片加載不出來,網(wǎng)頁打開慢問題時,不想定期手動更新 hosts 文件接觸到的,它有下面這幾個特點:
- 跨平臺支持
- 支持遠程hosts
- 支持 Alfred workflow (mac OSX)
- 導(dǎo)入導(dǎo)出
- 語法高亮
- 快速注釋
更多特色內(nèi)容大家也可以自行研究,官網(wǎng)地址:https://swh.app/zh/
安裝SwitchHosts
github下載地址:https://github.com/oldj/SwitchHosts/releases
“目前已經(jīng)支持了 m1 芯片的 macbook 安裝,選擇arm64架構(gòu)的版本下載即可。
”

從 github 下載有時候會比較慢,關(guān)注公眾號:【七哥編程說】,回復(fù) hosts,即可獲取安裝鏡像。
安裝完成后打開軟件,可以選擇手動自己配置,只需要添加一條規(guī)則,然后將獲取的最新 hosts 文件內(nèi)容粘貼進去即可:

hosts 文件內(nèi)容如下:
#?2021.04.27更新
#?GitHub?Host?Start
185.199.108.154??????????????github.githubassets.com
140.82.112.22????????????????central.github.com
185.199.108.133??????????????desktop.githubusercontent.com
185.199.108.153??????????????assets-cdn.github.com
185.199.108.133??????????????camo.githubusercontent.com
185.199.108.133??????????????github.map.fastly.net
199.232.69.194???????????????github.global.ssl.fastly.net
140.82.113.4?????????????????gist.github.com
140.82.114.6?????????????????api.github.com
185.199.108.133??????????????raw.githubusercontent.com
185.199.108.133??????????????user-images.githubusercontent.com
185.199.108.133??????????????favicons.githubusercontent.com
185.199.108.133??????????????avatars5.githubusercontent.com
185.199.108.133??????????????avatars4.githubusercontent.com
185.199.108.133??????????????avatars3.githubusercontent.com
185.199.108.133??????????????avatars2.githubusercontent.com
185.199.108.133??????????????avatars1.githubusercontent.com
185.199.108.133??????????????avatars0.githubusercontent.com
185.199.108.133??????????????avatars.githubusercontent.com
140.82.113.10????????????????codeload.github.com
52.217.78.196????????????????github-cloud.s3.amazonaws.com
52.217.89.236????????????????github-com.s3.amazonaws.com
52.217.83.60?????????????????github-production-release-asset-2e65be.s3.amazonaws.com
52.217.32.44?????????????????github-production-user-asset-6210df.s3.amazonaws.com
52.216.25.84?????????????????github-production-repository-file-5c1aeb.s3.amazonaws.com
185.199.108.133??????????????media.githubusercontent.com
#?GitHub?Host?End
如果發(fā)現(xiàn)沒有作用,或者速度不理想,就需要去下面的網(wǎng)站查找更新對應(yīng)IP。
- 查找IP的網(wǎng)站
https://www.ipaddress.com
hosts里面域名里分為兩類:*.githubusercontent.com 和 *.github.com。
*.githubusercontent.com可以使用同一個IP,不需要每個單獨查詢。*.github.com 是需要單獨查詢對應(yīng)的IP。
自動更新 hosts
看到這里你可能會覺得上面自己定期去查找 github 域名對應(yīng)的最新ip有點太麻煩了,這時候可以使用 SwitchHosts 來定時同步 :
還是添加一條規(guī)則,不過這次我們選擇遠程:
- 方案名:Github-Hosts(自定義即可)
- 類型:遠程
- URL地址:
- 自動更新:1小時
這樣就可以和最新的hosts保持同步,一勞永逸的解決了 github 訪問慢和圖片無法加載的問題,媽媽再也不用擔(dān)心我的學(xué)習(xí)啦!
關(guān)于 hosts 未生效問題
因為系統(tǒng)和瀏覽器都會對DNS進行緩存,有時候不是立即看到效果,正確的操作每次設(shè)置完先清空緩存。
Chrome緩存
地址欄訪問chrome://net-internals/#dns,點擊Clear host cache。
macOS
打開終端執(zhí)行:
sudo?killall?-HUP?mDNSResponder
Windwos
按下快捷鍵Window + R打開運行窗口,然后鍵入cmd打開命令行執(zhí)行命令:
ipconfig?/flushdns
上面我們已經(jīng)配置了自動更新 hosts,那清緩存也不能讓我們每次手動來搞了,這時候就可以使用下面的自定義命令來解決。
自定義命令
SwitchHosts!還支持保存后執(zhí)行自定義命令的功能,點擊左邊欄 ?? => 設(shè)置 => 自定義命令即可找到。
Windows命令不需要管理員權(quán)限,所以直接粘貼ipconfig /flushdns內(nèi)容即可。
macOS的刷新命令是需要管理員權(quán)限,直接配置上面的命令是不行的,要這樣寫:
echo?123456?|?sudo?-S?killall?-HUP?mDNSResponder
替換123456為你電腦登陸密碼。
但是注意:整個命令包括密碼會被明文存儲,很不安全,不建議這樣做,如果你要這樣用,請想好可能帶來的影響。
歡迎大家點個在看
????七哥也開通了視頻號:【程序員七哥】,以視頻的方式和大家見面,掃碼關(guān)注,第一時間收到視頻更新。所見所領(lǐng),皆是生活。慢慢來,努力一點,你我共同成長...
來自七哥的無腦推薦閱讀:
一個線程中斷引發(fā)Bug的“爆肝”排查經(jīng)歷
