M1芯片Mac搭建前端開發(fā)環(huán)境

M1芯片出來了有一段時間了,各類軟件的兼容性已經跟進的差不多了,迫于 M1 實在太香茂契,我的 M1 Macbook 也于本周到達了我的手上。在花費了兩三個小時搭建完開發(fā)環(huán)境后慨绳,立馬用它開始干活了掉冶。這幾天的感受只有寥寥一語可以概括:太 TM 香了真竖!太強了

作為一個前端開發(fā)者,我可以負責任的說前端開發(fā)的場景 M1 已經可以完全覆蓋厌小,并且體驗非常好恢共。目前我依賴的開發(fā)環(huán)境,并且已經跑在 M1 Mac 上的如下:適配 m1 的 Vscode Insiders 版本 + Node v15(on arm) + Node v14 (on intel) + Nvm + Cocoapods + Xcode + Flutter璧亚√志拢可以看到,大前端這一套是完全能夠覆蓋的癣蟋。

我在 github 的 issue 中經惩赶酰看到有關于 m1 安裝環(huán)境的問題,為了幫助不愿意翻 issue 的開發(fā)者疯搅,遂決定寫下這篇文章記錄前端環(huán)境的搭建問題濒生。

我會從以下幾個步驟來記錄:

  • 安裝 Xocde
  • 安裝 Homebrew
  • 安裝 Nvm
  • 安裝 Node
  • 如何安裝 v14 及以下的老版本 Node

安裝 Xcode

Xcode 是蘋果開發(fā)者工具,是一個功能非常強大的 IDE幔欧,可以用來開發(fā)蘋果應用甜攀,并且自帶了 git 環(huán)境, 并且有咱們后續(xù)依賴的 Xcode Command line tool , 先進入 app store 中安裝 Xcode。安裝好之后再進入后續(xù)步驟

安裝 Homebrew

如果你是一個 mac 老用戶琐馆,那自然不用我介紹什么是 Homebrew规阀。若是你是一個新用戶,那么請你一定要安裝 Homebrew 瘦麸,并使用它來管理 Mac 中的各類環(huán)境依賴谁撼。通過??的命令即可安裝 Homebrew

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

在終端中執(zhí)行如下命令安裝 Homebrew,安裝 Homebrew 的時候滋饲,常常會因為網(wǎng)絡問題導致安裝失敗,這個問題只能依賴大家自行解決科學上網(wǎng)了厉碟。

安裝 Nvm

Nvm 是一個管理 Node 版本的工具,當項目多了以后屠缭,總會碰到需要切換 Node 環(huán)境的時候箍鼓,所以推薦大家使用 Nvm 來安裝 Node。

Homebrew 安裝 Nvm

若是你已經按上述步驟安裝好了 Homebrew呵曹,那么你可以直接通過 Homebrew 的命令輕松安裝 Nvm

brew install nvm

curl 安裝 Nvm

若是你不想使用 Homebrew 管理依賴款咖,那么用 ?? 的 curl 直接安裝 Nvm 也是可以的

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash

設置 Nvm 的環(huán)境變量

安裝好 nvm 后,需要將環(huán)境變量寫入我們的 shell 配置文件中奄喂。

如果你的默認 shell 的 zsh铐殃,那么將環(huán)境變量命令復制進 .zshrc:

vi ~/.bash_profile

如果不使用 zsh,那么將環(huán)境變量復制進 bash 中跨新,通過如下命令創(chuàng)建 bash_profile富腊,并且編輯 bash_profile。

touch ~/.bash_profile
vi ~/.bash_profile

最后將以下環(huán)境變量腳本 copy 進 shell 配置文件中:

export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm

至此 Nvm 已經安裝好域帐,可以嘗試在命令行中輸入 nvm赘被,你可以看到 nvm 已經正常工作了是整。

安裝 Node

接下來我們通過 nvm 來安裝 Node,我們先安裝適配了 M1 的 node 版本民假。

nvm i v15

該命令運行完后贰盗,會執(zhí)行很久,編譯 node 阳欲,大家耐心等就好了舵盈,大概需要 5-10 分鐘,就會提示安裝成功球化。再提醒一句秽晚,報任何錯誤,首先先檢查是不是網(wǎng)絡問題筒愚,例如 443 赴蝇、 connect timeout 等,如果是網(wǎng)絡問題巢掺,建議科學上網(wǎng)句伶。

如何安裝 v14 及以下的老版本 Node

安裝 Node 的部分寫的很簡單,因為按這個步驟陆淀,一般不會出問題考余。而當你用 nvm 嘗試去安裝 v14 及以下的 Node 版本時,大概率會報錯轧苫,而我們在工作中恰恰又可能依賴 v14 及以下的 lts 版本楚堤。那么為什么會報錯呢?究其原因還是因為低版本的 node 并不是基于 arm64 架構的含懊,所以不適配 M1 芯片身冬。在這里教大家兩個方法,就能成功安裝上低版本 Node岔乔。

方法一

在終端中酥筝,輸入:

arch -x86_64 zsh

通過這個命令可以讓 shell 運行在Rosetta2下。
之后你可以通過 nvm install v12 來安裝低版本 Node雏门。
在此之后嘿歌,您可以不用在 Rosetta2 中就可以使用安裝的可執(zhí)行文件,也就是說剿配,您可以將 Node v15與其他節(jié)點版本互換使用搅幅。

方法二

方法二就是通過 Rosetta2 來啟動終端,這樣通過 Rosetta2 轉譯到 x86 架構中執(zhí)行安裝呼胚,也一樣可以安裝成功。

  • 在 finder 中息裸,點擊應用程序蝇更,并在實用工具中找到終端 (Terminal)
  • 右鍵終端沪编,點擊獲取信息
  • 選擇 使用Rosetta 打開
  • 重啟終端,并執(zhí)行 nvm install v12 命令
101442533-27b67c80-38e1-11eb-9ddf-10c77498fede.png
101442539-2b4a0380-38e1-11eb-9223-addc98e8186a.png

結尾

至此年扩,我們的 M1 就已經完成了 git + 各版本 Node + npm 的搭建蚁廓,完成這部分工作后,前端項目已經可以正常運行厨幻,各位買了 M1 Mac 的前端小伙伴又能愉快的干活了相嵌。希望本文能夠幫助被 M1 的開發(fā)環(huán)境困擾過的您。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末况脆,一起剝皮案震驚了整個濱河市饭宾,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌格了,老刑警劉巖看铆,帶你破解...
    沈念sama閱讀 218,682評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異盛末,居然都是意外死亡弹惦,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,277評論 3 395
  • 文/潘曉璐 我一進店門悄但,熙熙樓的掌柜王于貴愁眉苦臉地迎上來棠隐,“玉大人,你說我怎么就攤上這事檐嚣∠模” “怎么了?”我有些...
    開封第一講書人閱讀 165,083評論 0 355
  • 文/不壞的土叔 我叫張陵净嘀,是天一觀的道長报咳。 經常有香客問我,道長挖藏,這世上最難降的妖魔是什么暑刃? 我笑而不...
    開封第一講書人閱讀 58,763評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮膜眠,結果婚禮上岩臣,老公的妹妹穿的比我還像新娘。我一直安慰自己宵膨,他們只是感情好架谎,可當我...
    茶點故事閱讀 67,785評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著辟躏,像睡著了一般谷扣。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,624評論 1 305
  • 那天会涎,我揣著相機與錄音裹匙,去河邊找鬼。 笑死末秃,一個胖子當著我的面吹牛概页,可吹牛的內容都是我干的。 我是一名探鬼主播练慕,決...
    沈念sama閱讀 40,358評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼惰匙,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了铃将?” 一聲冷哼從身側響起项鬼,我...
    開封第一講書人閱讀 39,261評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎麸塞,沒想到半個月后秃臣,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經...
    沈念sama閱讀 45,722評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡哪工,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年奥此,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片雁比。...
    茶點故事閱讀 40,030評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡稚虎,死狀恐怖,靈堂內的尸體忽然破棺而出偎捎,到底是詐尸還是另有隱情蠢终,我是刑警寧澤,帶...
    沈念sama閱讀 35,737評論 5 346
  • 正文 年R本政府宣布茴她,位于F島的核電站寻拂,受9級特大地震影響,放射性物質發(fā)生泄漏丈牢。R本人自食惡果不足惜祭钉,卻給世界環(huán)境...
    茶點故事閱讀 41,360評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望己沛。 院中可真熱鬧慌核,春花似錦、人聲如沸申尼。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,941評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽师幕。三九已至粟按,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背钾怔。 一陣腳步聲響...
    開封第一講書人閱讀 33,057評論 1 270
  • 我被黑心中介騙來泰國打工碱呼, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留蒙挑,地道東北人宗侦。 一個月前我還...
    沈念sama閱讀 48,237評論 3 371
  • 正文 我出身青樓,卻偏偏與公主長得像忆蚀,于是被迫代替她去往敵國和親矾利。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,976評論 2 355

推薦閱讀更多精彩內容