你的 Mac 用對了嗎?window 轉 Mac 使用者須知 【系統差異、軟體推薦、環境搭建】

語言: CN / TW / HK

覺得有幫助,請給我投一票,謝謝 掘金2022年度人氣創作者打榜中,快來幫我打榜吧~

前言

Window 和 macOS 系統的差異還是很大的,我從 Thinkpad 轉用 M1 的 Macbook pro 已經一年了,期間記錄了種種曾困惑我的問題和解決方案,整理分享給大家;

若你是一名程式設計師,且最近剛好從 window 陣營轉到 macOS,那麼這篇文章肯定會對你有幫助。

關於 /usr/local 目錄

macOS 和 Linux 系統比較接近,其軟體安裝目錄是也是有講究的,理解這一點,對系統管理是很有幫助的:

  1. /usr:系統級的目錄,可以理解為C:/Windows/,/usr/lib理解為C:/Windows/System32。
  2. /usr/local:使用者級的程式目錄,可以理解為C:/Progrem Files/。使用者自己編譯的軟體預設會安裝到這個目錄下。
  3. /opt:使用者級的程式目錄,可以理解為D:/Software,opt有可選的意思,這裡可以用於放置第三方大型軟體(或遊戲),當你不需要時,直接 rm -rf 掉即可。在硬碟容量不夠時,也可將/opt單獨掛載到其他磁碟上使用。

開啟 /usr/local 所在目錄的方法

  1. macOS 系統的 /usr/local 目錄預設在 Finder 下是隱藏的,如果需要到 /usr/local,可以開啟 Finder,然後使用 command + shift + G,在彈出的目錄中填寫 /usr/local就可以了,也可以在 Finder 上右鍵點選前往資料夾(相當於 command + shift + G)。

image.png

  1. 還有一種檢視方式就是在命令列(終端)中:cd /usr/local 然後再使用 ls 就可以檢視下面安裝的東西了。

image.png

通過手動安裝的軟體一般預設都會放在 /usr/local 裡面,可以通過全域性訪問。

image.png

image.png

macOS 下配置環境變數

macOS 的環境變數一般配置在 .bash_profile 或者 .zshrc 檔案裡,所以只要將下載的安裝包路徑寫入 .bash_profile 或者 .zshrc 並完成儲存就好了。

macOS 下 .bash_profile 和 .zshrc 兩者之間的區別

.bash_profile 中修改環境變數只對當前視窗有效,當關閉視窗後再使用可能會報 zsh: command not found: XXX; 而且需要 source ~/.bash_profile 才能使用;

.zshrc 則相當於 windows 的開機啟動的環境變數, 永久有效。

所以建議儘量只使用 .zshrc,然後加一行 source .bash_profile 以相容不小心加入 .bash_profile 檔案的變數。

編輯 .bash_profile 檔案

  1. 開啟終端
  2. vi ~/.bash_profile 或者 open ~/.bash_profile 開啟檔案
  3. 修改後 通過 :wq 儲存
  4. source ~/.bash_profile 生效

image.png

編輯 .zshrc 檔案

只有當在 Mac OS 上使用 zsh shell 時,才會獲得 ~/.zshrc 檔案,如果你不確定自己使用的是哪個 shell,請開啟終端併發出以下命令:

echo $SHELL

若結果顯示為 /bin/zsh, 說明你在 macOS 上使用的是 zsh shell

  1. open ~/.zshrc 或者 vim ~/.zshrc
  2. 在開啟的 .zshrc 檔案視窗中進行更改
  3. 通過 :wq 儲存
  4. source ~/.zshrc

Homebrew 環境的安裝

Homebrew 是一個包管理器,用來在 macOS 安裝 Linux 工具包,終端裡執行下面指令,按照提示一步步安裝就好了 ``` 安裝指令: /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"

解除安裝指令(如果需要): /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/HomebrewUninstall.sh)"

brew update // 升級版本 brew -v //檢視版本 ```

image.png

image.png

homebrew 和 npm 的區別?

  1. homebrew,可以理解成 macOS 的軟體管理工具,粗俗點說就是 mac 界的 qq 軟體助手之類的東西。所以通過 brew,安裝什麼 chrome瀏覽器啊、atom 編輯器之類的視覺化工具也是可以的。

  2. npm,是 node.js 界的程式/模組管理工具,也就是說 npm 只管理那些服務於 JavaScript 社群的程式。而且跨平臺,windows 和 macOS,以及其他類 unix 作業系統都可以用。

  3. npm是用於 NodeJS 語言的包管理器,NodeJS 是跨平臺的;而 homebrew 是用於OS X系統的包管理器,類似Windows的各種軟體管理工具(所謂XX軟體市場之類)和Linux的apt-get/yum/pacman等。

  4. npm 是 node.js 的包管理工具,只要有 node 環境,不管是 windows, macOS, 還是 linux 都可以使用 npm 下載模組,brew 是 mac 的包管理工具,只有 macOS 上才有。

引用連結:https://www.jianshu.com/p/131dda5e51fe

npm部分命令如下: npm -l 用於檢視各個命令的簡單用法(所以下面的可以用這個命令來檢視) npm init 用來初始化生成一個新的 package.json檔案。 它會向用戶提問一系列問題,如果你覺得不用修改預設配置,一路回車就可以了。 npm -h 或 npm help 檢視npm命令的幫助資訊 npm ls 或 npm list 檢視npm已安裝的包資訊 npm -v 或 npm --version 檢視npm版本資訊 npm install npm -g npm更新自身 npm info <pkg> version 檢視某個模組最新發布版本資訊,如npm info underscore version npm search <keyword> 查詢與keyword匹配的模組資訊 npm view <pkg> version 檢視一個包的最新發布版本 npm i 或 npm install npm安裝當前目錄package.json裡面的所有包, 下面的i同樣可以用install代替,當解除安裝時,i用uninstall代替 npm update <pkg> [-g] 更新指定模組,有-g表示全域性 npm i <pkg> [-g] 安裝指定模組,有-g表示全域性 npm i <pkg>@version [-g] 安裝指定版本的模組,有-g表示全域性 npm i <pkg> --save 安裝包的同時自動更新package.json的依賴 npm i <pkg> --save-dev 安裝包的同時自動更新package.json的開發依賴 npm i <pkg> --save-optional 安裝包的同時自動更新package.json的可選版本依賴 npm i <pkg> --save-exact 安裝包並寫入確切版本依賴,而不是一個可選的版本範圍.

homebrew部分命令如下:

brew install <pkg> 安裝軟體包 brew uninstall <pkg> 解除安裝軟體包 brew search <keyword> 查詢軟體包 brew list 或brew ls 列出已安裝的軟體包 brew update 更新brew brew home 用瀏覽器開啟brew的官方網站 brew info 顯示軟體資訊 brew deps 顯示包依賴

Node 多版本環境的安裝

建議通過 n 來控制安裝多個 node 環境以應對可能不同的專案使用場景

先安裝 n: ``` brew install n

n -V // 若看到具體打版本號,則說明安裝成功 ```

基本使用:在終端直接輸入 n, 就可以管理各個版本的node了 n 1. 使用上下箭頭選擇對應的版本 2. 選擇好版本之後,按回車鍵切換當前node版本 3. 選擇好版本之後,敲[d]鍵刪除對應版本的node 4. 輸入[q]退出管理介面

Git 環境的安裝

寫程式碼肯定是需要 Git 環境的,mac 下安裝 Git 用 brew 就好了,不過有可能你的 mac 在安裝 xcode 等工具的時候就已經安裝好了 Git,所以先驗證下

``` git -v // 若顯示版本號則已經安裝過了 Git

brew install git // 安裝 git

brew upgrade git // 更新 git

brew uninstall git // 解除安裝 git

```

安裝完成後給 Git 配置全域性環境變數,以方便使用, 如果是通過滑鼠點選安裝包/UI介面方式 安裝,則它會自動配置環境變數。

whereis git // 可用來檢視安裝位置

git 的詳細操作指南可檢視這篇一份工作 6 年前端的 Git 備忘錄

nrm 的安裝與使用

nrm 是一個用來管理和快速切換私人 npm 配置的工具,可用來隨意的切換 npm 映象源,比如公司內網映象,淘寶映象等,建議全域性安裝;

nrm 是 node模組,所以通過 npm 來安裝,它是一個命令列模組,需要使用--global引數進行全域性安裝,命令如下:

``` npm install nrm -g --save 全域性安裝

nrm ls 檢視預設配置,這裡會列出所有的映象

nrm current 檢視當前使用的是哪個源

nrm use <源名> 切換到其它源,如 nrm use cnpm

nrm add 命令可新增公司私有 npm 源,如 http://baozun.com(隨便寫的),起個別名叫 baobao,nrm add baobao http://baozun.com 此時再執行 nrm ls,發現 baobao 已新增成功

nrm test npm 測速

nrm del baobao 刪除源配置 ```

同步 vscode 環境的配置

以前在多個裝置上同步自己的 vscode 環境如外掛什麼的是比較麻煩的,需要用到 settings sync 這樣的外掛,不過隨著 vscode 官方的更新,現在vscode 已經直接支援了,僅僅需要簡單到配置。

  1. 點選VSCode左下方的齒輪,開啟Settings Sync功能
  2. 會有彈窗讓你選擇下面 5 個你想同步的內容,Settings(配置)、Keyboard Shortcuts(快捷鍵)、Extensions(外掛)、User Snippets(使用者程式碼片段)、UI State(介面狀態),建議全部鉤上就好。
  3. 點選 Sign in & Turn on 按鈕,選擇微軟或者 github 賬號進行登入,登陸成功之後,Settings Sync就是開啟狀態了,VSCode會在後臺自動同步你剛才所選的內容。

推薦幾個 vscode 常用的外掛

  1. Webstorm IntelliJ Darcula Theme (主題外掛,提供和 Webstorm一樣的字型和主題)
  2. 小霸王(通過類似 webview 形式巢狀提供各種小遊戲,如魂鬥羅、坦克大戰等)
  3. 韭菜盒子(VSCode 裡也可以看股票 & 基金 & 期貨實時資料,做最好用的投資外掛。)
  4. Live Host (快速編輯 host 檔案、每日獲取最佳 github ip 解決 DNS 汙染問題。)
  5. Live Server(快速啟動一個埠服務)
  6. git blame(可以快速的檢視某一行最近的一次修改是誰、什麼時候、哪次提交修改的)
  7. git graph(可以進行版本管理,比如pull、push、修改比較、log、merge)
  8. gitlens (在vscode中使用git必備外掛,功能非常強大)
  9. filesize(在底部顯示當前檔案到大小)

mac 修改 host 檔案的方法

第一種方案:

修改 host 檔案一般用於開發除錯跨域問題,或者因為域名汙染導致網站無法訪問; finder 中 command + shift + G 開啟跳轉彈窗,輸入 /etc/hosts 就會跳轉到 hosts 檔案的位置了;

不過建議還是在終端中操作;

``` vim /etc/hosts

``` 編輯後 :wq 儲存生效。

image.png

image.png

第二種方案:

使用我寫的 vscode 外掛, LiveHost 可快速的編輯 hosts 檔案,並且可更方便到維護和管理。

macOS 必備的幾個軟體

  1. postman (開發者必備的介面除錯工具)
  2. charles mac (平臺必備️的抓包工具)
  3. gif brewery3 (gif 動圖製作)
  4. clashX (科學上網必備)
  5. iStat Menus (監控裝置執行狀況)

Mac 免費應用下載站點

  1. https://macwk.com 我認為最好用的免費應用下載站點(可惜最近關站了)
  2. https://xclient.info 跟 macwk 類似
  3. https://appstorrent.ru 毛子的

未完持續更新中!

覺得有幫助,請給我投一票,謝謝 掘金2022年度人氣創作者打榜中,快來幫我打榜吧~