你的 Mac 用對了嗎?window 轉 Mac 使用者須知 【系統差異、軟體推薦、環境搭建】
覺得有幫助,請給我投一票,謝謝 掘金2022年度人氣創作者打榜中,快來幫我打榜吧~
前言
Window 和 macOS 系統的差異還是很大的,我從 Thinkpad 轉用 M1 的 Macbook pro 已經一年了,期間記錄了種種曾困惑我的問題和解決方案,整理分享給大家;
若你是一名程式設計師,且最近剛好從 window 陣營轉到 macOS,那麼這篇文章肯定會對你有幫助。
關於 /usr/local 目錄
macOS 和 Linux 系統比較接近,其軟體安裝目錄是也是有講究的,理解這一點,對系統管理是很有幫助的:
- /usr:系統級的目錄,可以理解為C:/Windows/,/usr/lib理解為C:/Windows/System32。
- /usr/local:使用者級的程式目錄,可以理解為C:/Progrem Files/。使用者自己編譯的軟體預設會安裝到這個目錄下。
- /opt:使用者級的程式目錄,可以理解為D:/Software,opt有可選的意思,這裡可以用於放置第三方大型軟體(或遊戲),當你不需要時,直接 rm -rf 掉即可。在硬碟容量不夠時,也可將/opt單獨掛載到其他磁碟上使用。
開啟 /usr/local 所在目錄的方法
- macOS 系統的 /usr/local 目錄預設在 Finder 下是隱藏的,如果需要到 /usr/local,可以開啟 Finder,然後使用 command + shift + G,在彈出的目錄中填寫 /usr/local就可以了,也可以在 Finder 上右鍵點選前往資料夾(相當於 command + shift + G)。
- 還有一種檢視方式就是在命令列(終端)中:
cd /usr/local
然後再使用 ls 就可以檢視下面安裝的東西了。
通過手動安裝的軟體一般預設都會放在 /usr/local 裡面,可以通過全域性訪問。
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 檔案
- 開啟終端
- vi ~/.bash_profile 或者 open ~/.bash_profile 開啟檔案
- 修改後 通過 :wq 儲存
- source ~/.bash_profile 生效
編輯 .zshrc 檔案
只有當在 Mac OS 上使用 zsh shell 時,才會獲得 ~/.zshrc 檔案,如果你不確定自己使用的是哪個 shell,請開啟終端併發出以下命令:
echo $SHELL
若結果顯示為 /bin/zsh, 說明你在 macOS 上使用的是 zsh shell
- open ~/.zshrc 或者 vim ~/.zshrc
- 在開啟的 .zshrc 檔案視窗中進行更改
- 通過 :wq 儲存
- 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 //檢視版本 ```
homebrew 和 npm 的區別?
-
homebrew,可以理解成 macOS 的軟體管理工具,粗俗點說就是 mac 界的 qq 軟體助手之類的東西。所以通過 brew,安裝什麼 chrome瀏覽器啊、atom 編輯器之類的視覺化工具也是可以的。
-
npm,是 node.js 界的程式/模組管理工具,也就是說 npm 只管理那些服務於 JavaScript 社群的程式。而且跨平臺,windows 和 macOS,以及其他類 unix 作業系統都可以用。
-
npm是用於 NodeJS 語言的包管理器,NodeJS 是跨平臺的;而 homebrew 是用於OS X系統的包管理器,類似Windows的各種軟體管理工具(所謂XX軟體市場之類)和Linux的apt-get/yum/pacman等。
-
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 已經直接支援了,僅僅需要簡單到配置。
- 點選VSCode左下方的齒輪,開啟Settings Sync功能
- 會有彈窗讓你選擇下面 5 個你想同步的內容,Settings(配置)、Keyboard Shortcuts(快捷鍵)、Extensions(外掛)、User Snippets(使用者程式碼片段)、UI State(介面狀態),建議全部鉤上就好。
- 點選 Sign in & Turn on 按鈕,選擇微軟或者 github 賬號進行登入,登陸成功之後,Settings Sync就是開啟狀態了,VSCode會在後臺自動同步你剛才所選的內容。
推薦幾個 vscode 常用的外掛
- Webstorm IntelliJ Darcula Theme (主題外掛,提供和 Webstorm一樣的字型和主題)
- 小霸王(通過類似 webview 形式巢狀提供各種小遊戲,如魂鬥羅、坦克大戰等)
- 韭菜盒子(VSCode 裡也可以看股票 & 基金 & 期貨實時資料,做最好用的投資外掛。)
- Live Host (快速編輯 host 檔案、每日獲取最佳 github ip 解決 DNS 汙染問題。)
- Live Server(快速啟動一個埠服務)
- git blame(可以快速的檢視某一行最近的一次修改是誰、什麼時候、哪次提交修改的)
- git graph(可以進行版本管理,比如pull、push、修改比較、log、merge)
- gitlens (在vscode中使用git必備外掛,功能非常強大)
- filesize(在底部顯示當前檔案到大小)
mac 修改 host 檔案的方法
第一種方案:
修改 host 檔案一般用於開發除錯跨域問題,或者因為域名汙染導致網站無法訪問; finder 中 command + shift + G 開啟跳轉彈窗,輸入 /etc/hosts 就會跳轉到 hosts 檔案的位置了;
不過建議還是在終端中操作;
``` vim /etc/hosts
``` 編輯後 :wq 儲存生效。
第二種方案:
使用我寫的 vscode 外掛, LiveHost 可快速的編輯 hosts 檔案,並且可更方便到維護和管理。
macOS 必備的幾個軟體
- postman (開發者必備的介面除錯工具)
- charles mac (平臺必備️的抓包工具)
- gif brewery3 (gif 動圖製作)
- clashX (科學上網必備)
- iStat Menus (監控裝置執行狀況)
Mac 免費應用下載站點
- https://macwk.com 我認為最好用的免費應用下載站點(可惜最近關站了)
- https://xclient.info 跟 macwk 類似
- https://appstorrent.ru 毛子的
未完持續更新中!
覺得有幫助,請給我投一票,謝謝 掘金2022年度人氣創作者打榜中,快來幫我打榜吧~