程序员的新 Mac 必备配置清单,拿走不谢~

目录
文章目录隐藏
  1. 0、Mac 快捷键
  2. 1、Chrome 安装
  3. 2、搜集一些常用的网站书签
  4. 3、常用的软件下载
  5. 3.2 网盘 – 阿里云盘
  6. 4、开发必备
  7. 5、终端 – iTerm2
  8. 5.5 warp
  9. 6、包管理神器 – Homebrew
  10. 7、常用开发工具
  11. 7.4 nrm
  12. 8、Mac 效率神器 —— Alfred
  13. 9、Mac 自带的快速操作
  14. 结语

入职新公司,居然给我们配置的全是 Mac 本,这一点很 nice。于是我从 0 到 1 将其 “武装” 了一下,由于一些众所周知的原因,安装一些常用的工具(比如 Homebrew,这个东西太好用,用过的都知道)并不是一帆风顺的,还好社区有很多 “用爱发电” 的开拓者们,帮我们淌平了那些翻不过的墙,我都一一记录下来了,给需要的同学,拿走不谢~

0、Mac 快捷键

新入 Mac 的同学,可能有一部分是第一次使用 Mac,用好 Mac 的第一步就是记住一些常用的高效快捷键 ~

// 访达
Command + Shift + 3                // 截取全屏到桌面
Command + Shift + 4                // 截取所选区域到桌面
Command + Shift + N                // 新建文件夹
Command + Shift + .                // 显示/隐藏 隐藏文件
Command + Shift + G                // 调出窗口,可输入绝对路径直达文件夹
Command +  C                       // 复制文件
Command +  V                       // 粘贴文件
Command + Option + V               // 剪切文件,需要先复制文件
Command + Option + C               // 复制选中文件的路径

// 浏览器
Command + L                        // 光标直接跳至地址栏
Command + T                        // 打开一个新标签页
Command + 数字键 N                  // 切换到第 N 个标签页
Command + '+-'                     // 放大/缩小页面
Command + 左右箭头                  // 返回上一页或者下一页
Control + Tab                      // 转向下一个标签页
Control + Shift + Tab              // 转向上一个标签页

// 应用程序
Command + H                        // 隐藏非全屏的应用程序
Command + W                        // 关闭当前应用窗口
Command + Q                        // 完全退出当前应用
Command + N                        // 新建当前应用窗口
Command + ,                        // 打开当前应用的偏好设置
Command + 空格			   // 打开聚焦搜索
Command + Option + esc             // 打开强制退出的窗口
Command + control + F              // 应用全屏
Command + control + 空格            // 打开表情符号选择界面

// 其他
Command + control + Q              // 锁定屏幕
option  + 空格		           // 打开你安装的 UTools

更多快捷键可参考官方:Apple 键盘快捷键

1、Chrome 安装

基于众所周知的原因,Mac 里面自带了一些“你能看却不能用”的 APP,夏天太热,就先把它们放到文件夹里凉快去吧,还有底部程序坞中的一些无用 APP 也移除掉,看着就清爽干净了! ~

Mac 自带的 Safari 也不是说不好用,但是我只用 Chrome,所以先上 Chrome。

Chrome 安装包下载

顺带把输入法也下载了把,目前最好用的还是搜狗吧(虽然已经卖身了),其他输入法没深入体验过,还是看个人习惯吧~

搜狗输入法安装包下载

2、搜集一些常用的网站书签

我们先来做一些简单但又很有必要的事儿,比如把一些常用的网站集成到快捷标签栏:

下面是我自己搜集的一些常用的:

  • google – 不用 Google 的程序员是不哇噻的
  • github – 这个不用多说了吧,码农必备
  • stackoverflow – 找答案,就上 stackoverflow!
  • stackblitz – 一个针对 JavaScript 生态系统的即时全栈网络 IDE,目前感觉是最好用的,当然也还有 码上掘金codesandboxcodepen 等也不错,看个人选择。
  • reddit – 国外知乎,关注一些自己感兴趣的技术栈,偶尔也能看到一些不错的讨论,值得关注
  • chatGPT – 当红炸子鸡,不会用就别写程序了,回去继承爸妈的几栋楼收房租吧 ~
  • Vercel:静态托管服务

3、常用的软件下载

3.1 笔记 – 语雀

语雀是我认为目前国内做得最好的在线文档协同平台,我从很早就开始用它了(白嫖了好几年),现在好像也开始会员制了,不过免费版足够个人笔记使用了~

笔记 - 语雀

语雀下载

3.2 网盘 – 阿里云盘

日常办公学习,少不了大文件的一些上传下载,阿里云盘比起某度不限速还是很有一点点良心的,但不多,哈哈~

阿里云盘下载

当然你也可以使用百度云盘

3.3 截图工具 – iShot

一直在用的截图工具,截图美观且可编辑,基础功能够用 ~
截图工具 - iShot

iShot 下载

3.4 剪切板工具 – clipy

其实一开始我是使用 Alfred 的剪切板工具的,但是后来变收费了,就找到下面这个平替了。实际上,想继续用 Alfred 也有办法,办法你懂的~

一个小日子过得不错的人开发的免费的剪切板工具,没有会员没有收费,轻量好用,墙裂推荐!(原生快捷键:command + shift + v,不好用可以自己改)

clipy 下载

剪切板工具 - clipy

3.5 视频播放器 – IINA

这个神器应该没人不知道吧?除了他,其他的那些,啥也不是 ~

视频播放器 - IINA

IINA 下载

3.6 Markdown 编辑器 – Typora

老一代神级 Markdown 编辑器!我指的是它免费的时候 。

Markdown 编辑器 - Typora

Typora 下载

备用:macdown

3.6-1 Typora 平替 – MarkText

MarkText 也是一个不错的选择,说是永久免费。

MarkText

3.7 hosts 文件修改 – SwitchHosts

有时候会有一些改动 hosts 文件的场景,会命令行的直接粗暴:

sudo vim /etc/hosts   # 然后:wq 保存

那么有木有可视化工具管呢?答案:当然是有的。SwitchHosts 是一个管理、切换多个 hosts 方案的工具。它是一个免费开源软件。

hosts 文件修改 - SwitchHosts

switchhosts 下载

3.8 API 浏览器 – Dash

Dash 是一个 API 文档浏览器和代码片段管理器。Dash 可以立即搜索 200 多个 API 的离线文档集,100 多个小抄等。你甚至可以生成你自己的文档集,或要求将文档集包括在内。

浏览器 - Dash

Dash for Mac 下载

3.9 Gif 录制 – gifox

很喜欢这个 GIF 录制工具,小巧美观,也很便宜:

Gif 录制 - gifox

4、开发必备

4.1 IDE

笔者主要的技术栈是 React/Vue/Flutter + Go/Node.js,所以主要使用 VS Code + AS + Goland

4.1.1 前端 – VS Code

这个就不用多说了,前端开发首选~

VS Code 下载

再介绍一下我日常开发用的插件吧:

  • Debugger for ChromeApollo GraphQLAuto Rename Tag
  • Chinese (Simplified) Language Pack for Visual Studio Code
  • Code RunnerEditorConfig for Visual Studio Code
  • ESLintfilesizeHTML SnippetsImage PreviewImport Cost
  • JavaScript (ES6) snippetsJSON ToolsJSON ViewerkoroFileHeader
  • MinifyMonokai Themenpm (npm support for VS Code)
  • Open in BrowserPath IntellisensePrettier - Code formatter
  • Prettify JSONTodo TreeVeturView Node Packagevscode-icons
  • Sass/Less/Stylus/Pug/Jade/Typescript/Javascript Compile Hero Pro
  • …(其他的大家补充)

4.1.2 Flutter – Android Studio

由于笔者平时也会玩玩 Flutter(之前也干了两年 Flutter 开发),虽然 VS Code 也可以开发 Flutter,但这个是我觉得体验更好的 IDE~

Flutter - Android Studio

Android Studio 下载

4.1.3 后端 – Goland

Go 开发的首选 IDE,做过 Go 的都知道~

后端 - Goland

Goland 下载

4.2 辅助工具

4.2.1 Postman – API 管理工具

Postman 是一个用于构建和使用 API 的 API 平台。Postman 简化了 API 生命周期的每个步骤,并简化了协作,因此你可以更快地创建更好的 API。

Postman - API 管理工具

Postman 下载

当然你也可以选择一些国产的平台,比如:

4.2.2 Docker – 容器化

Docker 是一个开源的容器化平台,用于构建、部署和运行应用程序。它提供了一种轻量级的虚拟化技术,可以将应用程序及其所有依赖项打包到一个独立的容器中,使其可以在任何环境中以相同的方式运行。

通过使用 Docker,开发人员可以更轻松地构建、交付和运行应用程序,无论是在开发环境、测试环境还是生产环境中。它提供了一致的运行环境,简化了应用程序的部署和维护过程,同时也提供了更好的可移植性和可扩展性。

Docker - 容器化

Docker 下载

4.2.2-1 Docker 平替 orbstack

macOS 从 2020 年发布 Big Sur 开始,提供了虚拟化的框架,开发者可以在 macOS 上构建基于 Intel/ARM 的 Linux 环境。macOS 上的 Parallels Desktop 和 Docker Desktop 都在使用这个框架,但这二者都比较重。

macOS 上的 Docker Desktop 原本就是饱受诟病,慢、重、资源消耗巨大。OrbStack 的出现就是为了解决这个问题。

OrbStack 是一个可以在 macOS 上快速运行 Docker 容器,和 Linux 虚拟机的工具,资源占用率低,高带宽,速度快。

Docker 平替 orbstack

orbstack 下载

4.3.3 Tower – git 管理工具

超过 10 万名开发者和设计师使用 Tower —— Mac 和 Windows 上最强大的 Git 客户端,提高工作效率。

Tower - git 管理工具

Tower,也可以使用 sourcetree

5、终端 – iTerm2

Term2 是终端的替代品,界面更美观,更现代化,体验更好~

让终端也“哇噻”起来 - iTerm2

iTerm2 下载

安装完成之后查看下本机的 shell 是啥:

# 查看本机上所有的 shell list
cat /etc/shells 

输出:

# List of acceptable shells for chpass(1).
# Ftpd will not allow users to connect who are not using
# one of these shells.

/bin/bash
/bin/csh
/bin/dash
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh

查看当前使用的 shell:

echo $0 

如果想要修改默认 shell,可以使用(但建议使用 zsh):

chsh -s /bin/bash

原始的 iTerm2 界面还比较素,可以对其按照自己的审美适当美化一下。

5.1 安装 Oh My Zsh

linux 和 Mac OS系统,shell类型默认都是bash,在使用时候预发提示,页面美观等都不够强大,后来诞生了 zsh,但 zsh 配置复杂,就有人在 zsh 基础开发出了 oh-my-zsh。

下载地址: ohmyz

终端执行如下命令:

sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

执行过程遇到443问题。

HQITI0010:.ssh shiyang.long$ sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refused

原因是使用了国外资源,改国内镜像安装:

sh -c "$(curl -fsSL https://gitee.com/shmhlsy/oh-my-zsh-install.sh/raw/master/install.sh)"

安装成功后,你就会看到:

安装成功后

5.2 安装 Oh My Zsh PowerLevel10K 主题

git clone https://github.com/romkatv/powerlevel10k.git $ZSH_CUSTOM/themes/powerlevel10k

安装成功后,用你喜欢的编辑器打开“~/.zshrc”文件,然后按如下所示修改“ZSH_THEME”的值:

ZSH_THEME="powerlevel10k/powerlevel10k"

生效:

source ~/.zshrc

就可以得到一个干净、精致的终端了:

精致的终端

5.3 常用插件

5.3.1 zsh-syntax-highlighting 语法高亮插件

依次输入以下的命令

git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
vim ~/.zshrc

在文件里找到 plugins=(git),括号是插件列表,git 是默认安装的插件。添加插件

plugins=(
  git
  zsh-syntax-highlighting
)

让插件生效:

source ~/.zshrc

5.3.2 zsh-autosuggestions 自动路径补全

输入命令时可提示自动补全(会出现灰色的命令提示,你曾经访问过的命令),然后按键盘 → (右方向键)

git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
vim ~/.zshrc

在文件里找到 plugins,添加:

plugins=(
  git
  zsh-syntax-highlighting
  zsh-autosuggestions
)

让插件生效:

source ~/.zshrc

接下来重启一下 terminal 终端,就可以了。

5.3.3 autojump 跳转插件

这一个需要在下面的 homebrew 安装后再操作。

实现目录间快速跳转,想去哪个目录直接 j + 目录名,或者想在 Finder 打开哪个目录就直接jo + 目录名,不用频繁的 cd 了:

安装:

brew install autojump
vim ~/.zshrc

在文件里找到 plugins,添加:

plugins=(
  git
  zsh-syntax-highlighting
  zsh-autosuggestions
  autojump
)

然后在 .zshrc 文件末尾(最后一行)添加:

[[ -s $(brew --prefix)/etc/profile.d/autojump.sh ]] && . $(brew --prefix)/etc/profile.d/autojump.sh
source $ZSH/oh-my-zsh.sh

让插件生效:

source ~/.zshrc

这样你的终端就变得很“哇噻”了呀:

终端就变得很“哇噻”了呀

5.4 终端 bash&zsh&fish 对比

5.4.1 bash

默认的 shell 工具,大多的 Linux 系统自带的。

bash2 也有自动补全与语法高亮,工具bel.sh(opens new window)

5.4.2 zsh

zsh 相对于 bash 高可配置、高扩展。目前是 mac 上的默认的 shell 工具。推荐它的主题网址:ohmyz

通过扩展可以获得如下功能:

  • 自动补全
  • 语法高亮
  • 插件系统(插件管理)
  • 命令行提示(git 仓库)
  • 颜色主题

下面截图的就是一个示例,这些都需要手动设置。

终端 bash&zsh&fish 对比

bash 与 zsh 已经诞生大概有 30 年了历史了。

5.4.3 fish

1)特点

官网:fishshell

相比于 zsh,fish 会有很多自动化的配置,默认的安装即可。

特点:

  • 命令历史
  • 自动补全、自动搜索
  • 语法高亮
  • 运算+逻辑
  • 运行行颜色设置

2)安装方法

安装方法:

macOS 上:

brew install fish

windows 上可以通过

3)美化&扩展

omf 就是 fish 的一个插件管理工具,扩展 fish 主题配色,项目地址:github

还有一个插件管理工具是 fisher:github

强烈推荐starship来美化你的 fish shell,地址:starship,安装方式:

brew 方案:

brew install starship

Linux 方案:

sh -c "$(curl -fsSL https://starship.rs/install.sh)"

添加配置:

# fish 配置文件 ~/.config/fish/config.fish
starship init fish | source

# 选择一:~/.bashrc 针对于平时使用 bash 的小伙伴
eval "$(starship init bash)"

# 选择二:~/.zprofile 针对于平时使用 zsh 的小伙伴
eval "$(starship init zsh)"

5.5 warp

Warp,一个超级牛叉的 terminal,号称是 21 世纪的终端,还未正式发布,就获得了两千三百万美元的融资。

warp 下载

Warp,一个超级牛叉的 terminal

    • Warp 解决第一个痛点,是通过减少配置、方便输入,优化输出,增加常用命令行自动提示(通过 fig),方便查看历史记录,可定义流程,等等实现的。
    • 解决第二个痛点,则是增加协作功能。例如可以共享自己的命令行、设置项、历史记录。

6、包管理神器 – Homebrew

Homebrew 是一款 MacOS 平台下的软件包管理工具,拥有安装、卸载、更新、查看、搜索等很多实用的功能。简单的一条指令,就可以实现包管理,而不用你关心各种依赖和文件路径的情况,十分方便快捷。 通常用于 Mac 系统,也可以安装在 Linux 系统。

Homebrew 主要有四个部分组成: brewhomebrew-core 、homebrew-caskhomebrew-bottles

名称 说明
brew Homebrew 源代码仓库
homebrew-core Homebrew 核心源
homebrew-cask 提供 macOS 应用和大型二进制文件的安装
homebrew-bottles 预编译二进制软件包

brew 官网:brew

注意 M1 处理器的安装位置(与 intel 有所区别): brew 的安装位置:/opt/homebrew brew 安装的所有【软件安装位置】在 /opt/homebrew/Cellar 目录下

6.1 brew 安装&卸载

推荐自动脚本安装-国内源,在终端中执行下面脚本即可

  • 项目地址 1:gitee
  • 项目地址 2:brew

6.1.1 安装

Mac 电脑标准(完整版)安装脚本:(推荐,优点全面,缺点慢一点)

/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"

Mac 电脑极速安装脚本:(优点安装速度快 缺点 update 功能需要命令修复 )

/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)" speed

Linux 标准安装脚本:

rm Homebrew.sh ; wget https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh ; bash Homebrew.sh

常见错误汇总

6.1.2 卸载

Mac 电脑卸载脚本:

/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/HomebrewUninstall.sh)"

Linux 卸载脚本:

rm HomebrewUninstall.sh ; wget https://gitee.com/cunkai/HomebrewCN/raw/master/HomebrewUninstall.sh ; bash HomebrewUninstall.sh

6.2 brew 使用

6.2.1 手动设置镜像

1)中科大源

git -C "$(brew --repo)" remote set-url origin https://mirrors.ustc.edu.cn/brew.git

git -C "$(brew --repo homebrew/core)" remote set-url origin https://mirrors.ustc.edu.cn/homebrew-core.git

git -C "$(brew --repo homebrew/cask)" remote set-url origin https://mirrors.ustc.edu.cn/homebrew-cask.git

brew update

2)清华大学源

git -C "$(brew --repo)" remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git

git -C "$(brew --repo homebrew/core)" remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-core.git

git -C "$(brew --repo homebrew/cask)" remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-cask.git

brew update

6.2.2 设置 bottles 镜像

设置环境变量需要注意终端的类型,可以先通过以下方式获取:

执行命令echo $SHELL,根据结果判断:

  • /bin/zsh => zsh => .zprofile
  • /bin/bash => bash => .bash_profile

然后继续正式操作,以中科大源为例:

macOS Catalina(10.15.x) 版开始,Mac使用zsh作为默认Shell,对应文件是.zprofile,所以命令为:

echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles/bottles' >> ~/.zprofile
source ~/.zprofile

如果是macOS Mojave 及更低版本,并且没有自己配置过zsh,对应文件则是.bash_profile

echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles/bottles' >> ~/.bash_profile
source ~/.bash_profile

注意:上述区别仅仅是.zprofile.bash_profile不同,上下文如有再次提及编辑.zprofile,均按此方法判断具体操作的文件。

至此,安装和设置操作都完成了。

6.2.3 恢复默认源

git -C "$(brew --repo)" remote set-url origin https://github.com/Homebrew/brew.git

git -C "$(brew --repo homebrew/core)" remote set-url origin https://github.com/Homebrew/homebrew-core.git

git -C "$(brew --repo homebrew/cask)" remote set-url origin https://github.com/Homebrew/homebrew-cask.git

brew update

homebrew-bottles配置只能手动删除,将 ~/.zprofile 文件中的 HOMEBREW_BOTTLE_DOMAIN=https://mirrors.xxx.com内容删除,并执行 source ~/.zprofile

6.3 cask 相关

目前cask是从GitHub上读取软件源,而GitHub Api对访问有限制,如果使用比较频繁的话,可以申请Api Token,然后在环境变量中配置到HOMEBREW_GITHUB_API_TOKEN

.zprofile中追加,注意替换yourtoken:

echo 'export HOMEBREW_GITHUB_API_TOKEN=yourtoken' >> ~/.zprofile
source ~/.zprofile

注意:因为cask是从GitHub下载软件,所以目前是无法加速的。

6.4 brew 常用指令

// 1、安装任意包,例如 brew install node
	brew install appName
// 2、卸载任意包,例如 brew uninstall git
	brew uninstall appName
// 3、查询可用包
	brew search appName[当不知道具体名字时-这里可直接用关键字搜索]
// 4、查看任意包信息
	brew info appName
// 5、更新 Homebrew
	brew update
// 6、查看 Homebrew 版本
	brew -v
// 7、Homebrew 帮助信息
	brew -h
// 8、列出已安装的软件
	brew list  或者  brew ls  
// 9、用浏览器打开 brew 的官方网站
	brew home       
// 10、显示包依赖
	brew deps      
// 11、升级到最新版本
	brew upgrade

7、常用开发工具

7.1 Git 安装

# git 安装
brew install git

# 可视化工具 git-gui
brew install git-gui

安装好 git 之后就要进行初始化操作。第一次使用 git 的时候我们需要给 git 配置用户名和邮箱,用户和邮箱可以使用 github 的,也可以使用自己公司的 gitlab 仓库的账号。

# 配置用户名
git config --global user.name "用户名"

# 配置邮箱
git config --global user.email "邮箱地址"

配置好这个以后我们输入便可以看到我们所有的配置信息了,然后可以看到 user.name 和 user.email 配置得对不对:

git config -l

然后就可以配置 ssh 密钥了。ssh 密钥允许系统和 github/gitlab 之间建立安全连接。在上传代码的时候使用 https 需要频繁的输入密码,而使用 ssh 的话可以省去这个步骤。

  • 检查 SSH 秘钥是否存在。控制台输入:cat ~/.ssh/id_rsa.pub
  • 若密钥不存在,就需要生成 SSH 密钥 。执行命令ssh-keygen -t rsa -C "邮箱地址"
  • github/gitlab 上添加 SSH key。执行命令查看公钥:cat ~/.ssh/id_rsa.pub,然后将显示出来的一大串字符串复制下来
  • 打开 github/gitlab 的找到 Profile Settings 下的 SSH Keys,在 Add an SSH key 中,将刚刚复制的一大串字符串密钥粘贴到 Key 的框框里,在 Title 这里给这个 key 设置一个响当当的名字,点击 Add key 就大功告成。

如果你在每次 Git 操作时都被要求输入密码,这可能是因为你使用了基于 HTTPS 的远程存储库,并且每次都需要验证身份。

有几种方法可以避免频繁输入密码:

  1. 使用 SSH 密钥对:这是一种更安全和方便的身份验证方式。你可以生成 SSH 密钥对,并将公钥添加到你的远程存储库中。这样,你就可以使用 SSH URL 克隆和推送代码,而无需每次输入密码。要生成 SSH 密钥对,请使用 ssh-keygen 命令,并按照提示进行操作。
  2. 使用凭据管理器:一些操作系统或 Git 客户端提供了凭据管理器,可以将你的密码保存在加密的密钥链中。这样,当你执行 Git 操作时,凭据管理器将自动填充密码,而无需手动输入。
  3. 使用 Git 凭据存储:Git 提供了凭据存储功能,它可以将你的凭据保存在本地。你可以运行以下命令来启用 Git 凭据存储:
    git config --global credential.helper store
    

    这将在全局配置中设置凭据存储为 “store”,并将你的凭据保存在明文文件中。请注意,这种方法不是最安全的,因为凭据以明文形式存储在磁盘上。但是,如果你的计算机只有你自己可以访问,这可能是一个方便的解决方法。

无论你选择哪种方法,都应该权衡安全性和方便性。如果你处理敏感数据或与他人共享计算机,使用 SSH 密钥对是更安全的选择。

7.2 node 安装

1、查看当前电脑通过 brew 安装的 node:

ls /usr/local/Cellar/node*

2、查看可安装的 node:

brew search node

3、安装其他版本 node:

brew install node@12

4、brew 切换 node 版本:

brew unlink node@10
brew link --overwrite --force node@12

# 连起来
brew unlink node@18 && brew link --force node@16
echo 'export PATH="/usr/local/opt/node@16/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
node -v  # 16.20.1

7.3 NVM 安装

温馨提示:nvm 会遇到蛮多的坑,个人更喜欢直接用 brew 来安装和切换 node 版本,也很方便。当然,如果你喜欢折腾,可以开启下面的旅程了 ~

7.3.1 安装

Nvm 是 node 版本控制工具,可安装多个 node 版本任意切换,老前端必备~ 不同的项目可能对 Node.js 的版本要求不同,这时我们就需要切换不同版本的 Node.js。我们可以通过 Nvm 来管理 Node.js 版本。

那 nvm 是什么?和 npm 是什么关系?

  • nvm(Node Version Manager)是一个用于管理 Node.js 版本的工具,它被设计成每个用户独立安装,并在每个终端会话中调用。nvm 可以在任何符合 POSIX 标准的 shell(如 sh、dash、ksh、zsh、bash)上运行,特别适用于以下平台:Unix、macOS 和 Windows 的 WSL(Windows Subsystem for Linux)。
  • nvm 的主要功能是允许用户轻松切换不同版本的 Node.js,并在不同的项目中使用不同的 Node.js 版本。它为每个已安装的 Node.js 版本提供隔离的运行环境,使得用户可以在同一系统上同时使用多个 Node.js 版本而不会相互干扰。

首先在终端中通过nvm 官方 GitHub上提供的以下命令来安装 nvm:

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

当我输入该命令后,终端就报错了,报错信息:curl: (7) Failed to connect to raw.githubusercontent.com port 443 after 5 ms: Couldn't connect to server,这个报错是因为 github 有些域名访问不到,可以通过配置 hosts 里面的 ip 域名对应关系解决。

进入ipaddress网站,在打开的网站中将 raw.githubusercontent.com 复制到查询栏中进行搜索,可以看到域名对应的 IP 地址信息:

域名对应的 IP 地址信息

在终端中输入以下命令来打开 hosts 文件以进行编辑:

sudo vim /etc/hosts

在文件中追加以下对应关系:

185.199.108.133 raw.githubusercontent.com
185.199.108.133 user-images.githubusercontent.com
185.199.108.133 avatars2.githubusercontent.com
185.199.108.133 avatars1.githubusercontent.com

如下:

在文件中追加以下对应关系

然后按下 ESC 键,输入 :wq 来保存即可。这个配置不仅可以解决 nvm 的安装问题,还能使加载不了图片的 GitHub 页面恢复正常,homebrew 也能装了。然后再输入上面的命令就可以安装 nvm 了。

然后在 .zshrc 文件中添加以下内容:

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"  # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && . "$NVM_DIR/bash_completion"

别忘了 source 一下:

source ~/.zshrc

国内源

方案:

  • 官网下载直装:nodejs
  • 使用 nvm(Node Version Management,node 版本管理工具)安装 (推荐)
    • mac:github
    • 国内镜像仓库地址:gitee安装脚本:
      curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
      # or
      wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
      
      # 国内
      curl -o- https://gitee.com/mirrors/nvm/raw/master/install.sh | bash
      

      国内加速:

      export NVM_NODEJS_ORG_MIRROR=http://npm.taobao.org/mirrors/node
      

      1.阿里云

      # 设置 npm_mirror:
      nvm npm_mirror https://npmmirror.com/mirrors/npm/ 
      
      # 设置 node_mirror:
      nvm node_mirror https://npmmirror.com/mirrors/node/
      

      2.腾讯云

      # 设置 npm_mirror:
      nvm npm_mirror http://mirrors.cloud.tencent.com/npm/ 
      
      # 设置 node_mirror:
      nvm node_mirror http://mirrors.cloud.tencent.com/nodejs-release/
      
    • windows:nvm-windows 安装包:1.1.9.zip

    配置 nvm 环境,找到如下位置的文件(如果没有则新建):

    • M1:~/.zprofile
    • Intel:~/.bash_profile, ~/.zshrc~/.profile或者 ~/.bashrc

    添加如下内容:

    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-cn

7.3.2 使用

注意:安装前先删除之前安装的 node,卸载已安装到全局的 node/npm。

// 1. 删除 node
brew uninstall --ignore-dependencies node 
brew uninstall --force node 

// 2. 安装 nvm
brew update 
brew install nvm

// 3. 安装成功后不能直接使用 nvm 命令, 安装成功之后,还不能直接使用 nvm 命令,需要进行以下配置,将以下命令复制到终端执行:
echo "source $(brew --prefix nvm)/nvm.sh" >> .zsshrc

// 4. 验证
nvm -v // 0.39.3
nvm list

// 5. 安装最新稳定版,会变成默认的版本,你也可以手动安装其他版本,下面有指令
nvm install stable
node -v // v20.3.0

常用的 nvm 命令:

nvm list ##是查找本电脑上所有的 node 版本 
 - nvm list ##查看已经安装的版本 
 - nvm list installed ##查看已经安装的版本 
 - nvm list available ##查看网络可以安装的版本 

nvm install ##安装指定版本 node 
nvm uninstall ##卸载制定的版本 
nvm install stable ## 安装最新稳定版 node
nvm install ##安装指定版本,可模糊安装,如:安装 v4.4.0,既可 nvm install v4.4.0,又可 nvm install 4.4 

nvm use ##切换使用指定的版本 node 
nvm -v ##查看当前的版本 

nvm ls ## 列出所有安装的版本 
nvm ls-remote ## 列出所有远程服务器的版本(官方 node version list) nvm current ## 显示当前的版本 

nvm alias ## 给不同的版本号添加别名 
nvm alias default  ## 设置默认版本,如: nvm alias default v11.1.0,这样就不用每次都切换版本了
nvm unalias ## 删除已定义的别名 
nvm reinstall-packages ## 在当前版本 node 环境下,重新全局安装指定版本号的 npm 包 

nvm on ##打开 nodejs 控制 
nvm off ##关闭 nodejs 控制 
nvm proxy ##查看设置与代理 
nvm node_mirror [url] ##设置或者查看 setting.txt 中的 node_mirror,如果不设置的默认是 https://nodejs.org/dist/ 
nvm npm_mirror [url] ##设置或者查看 setting.txt 中的 npm_mirror,如果不设置的话默认的是: https://github.com/npm/npm/archive/. 

nvm use [version] [arch] ##切换制定的 node 版本和位数 
nvm root [path] ##设置和查看 root 路径

7.3.3 可能遇到的问题

1)zsh: command not found: nvm

如果你遇到了 “zsh: command not found: nvm” 的错误信息,这意味着你的 shell(命令行解释器)无法识别 nvm 命令。这个错误是特定于 Zsh shell 的。

以下是解决此问题的几个步骤:

  1. 验证安装:确保你已成功安装了 Node Version Manager(nvm)。如果你尚未安装它,请按照你的操作系统的安装说明进行操作。通常你可以使用软件包管理器安装 nvm,或者运行 nvm 项目提供的脚本进行安装。
  2. 检查你的 Shell:确认你正在使用 Zsh shell。你可以通过运行以下命令来检查:
    echo $SHELL
    

    如果输出结果不是 /bin/zsh/usr/bin/zsh,你可能需要切换到 Zsh,或者修改相应的配置文件以适应你的 shell。

  3. 更新 Shell 配置:Zsh 使用特定的配置文件来设置环境。主要的配置文件通常是 ~/.zshrc。使用文本编辑器打开该文件,检查是否存在类似以下行的内容:
    source ~/.nvm/nvm.sh
    

    如果你没有看到这一行,或者 nvm.sh 的路径不正确,请添加或更新该行,确保它反映了 nvm.sh 文件的正确路径。保存更改并重新启动终端,或者运行 source ~/.zshrc 来应用更新的配置。

  4. 验证环境变量:确保 NVM_DIR 环境变量设置正确。它应该指向 nvm 安装的目录。你可以通过运行以下命令来检查:
    echo $NVM_DIR
    

    如果输出为空或不正确,你可以在 ~/.zshrc 文件中手动设置它,添加以下行:

    export NVM_DIR="/path/to/nvm"
    

    /path/to/nvm 替换为 nvm 安装的实际目录路径。保存更改并重新启动终端,或者运行 source ~/.zshrc 来应用更新的配置。

按照这些步骤,你应该能够解决 “zsh: command not found: nvm” 错误,并在 Zsh shell 中成功使用 nvm

2)Version ‘stable’ not found…

安装好 nvm,本来以为可以开心滴使用了,没想到 nvm install stable,shell 等了好久,出现了如下报错:

Version 'stable' not found - try `nvm ls-remote` to browse available versions.

7.3.4 n – nvm 平替

有些同学反映说 nvm 总是连接不到 nodejs.org 的问题,找了老半天,也没发现特别好的解决方案(有的话提供一下),其实还有一个 nvm 的平替 – n,一直在维护更新中。

1)安装 node

先安装 node:

brew install node

替换成淘宝源,淘宝 npm 地址

  1. npm 临时使用
    # 以 events 依赖包为例
    npm --registry https://registry.npmmirror.com install events --save
    
  2. npm 持久使用
    npm config set registry https://registry.npmmirror.com
    
    # 验证:通过以下方式验证结果
    npm config get registry
    
    # 使用:以 events 依赖包为例
    npm install events --save
    
  3. cnpm 使用
    npm install -g cnpm --registry=https://registry.npmmirror.com
    
    # 使用:以 events 依赖包为例
    cnpm install events --save
    
  4. 还原 npm 仓库地址:
    npm config set registry https://registry.npmjs.org/
    

2)安装 n

cnpm install n -g

这时候如果你接着使用 n 安装 node,还是会出现以下的问题:

❯ sudo n stable
Password:
curl: (28) Failed to connect to nodejs.org port 443 after 151020 ms: Couldn't connect to server

  Error: failed to download version index (https://nodejs.org/dist/index.tab)

解决办法是:

N_PREFIX=$HOME/.local n stable

然后在 .zshrc 中添加:

export N_PREFIX=$HOME/.local

# 记得 source
source ~/.zshrc

解决方案来自: stackexchange

然后你就可以使用 n 安装了:

❯ n ls
node/18.16.1
❯ n ls-remote
Listing remote... Displaying 20 matches (use --all to see all).
20.4.0
20.3.1
20.3.0
20.2.0
20.1.0
20.0.0
19.9.0
19.8.1
19.8.0
19.7.0
19.6.1
19.6.0
19.5.0
19.4.0
19.3.0
19.2.0
19.1.0
19.0.1
19.0.0
18.16.1

卸载 node:

sudo rm -rf /usr/local/{bin/{node,npm},lib/node_modules/npm,lib/node,share/man/*/node.*}

删除 node 安装目录下的相关配置文件:

sudo npm uninstall npm -g

sudo rm -rf /usr/local/lib/node /usr/local/lib/node_modules /var/db/receipts/org.nodejs.*

sudo rm -rf /usr/local/include/node /Users/$USER/.npm

sudo rm /usr/local/bin/node

sudo rm /usr/local/share/man/man1/node.1

3)n 指令

# 查看 n 版本
n -V

# 查看本地的 node 版本列表
n ls

# 安装指定版本的 node
sudo n 10.13.0

# 切换版本
sudo n

# 删除指定版本
sudo n rm 12.10.0

7.3.5 Volta – nvm 平替

如果你要是觉得上面两个都不好用,可以试试这个新出的:Volta

Volta 是一个命令行工具,用于 Node.js 和 JavaScript 包管理器(npm、yarn 等)的简单版本管理。

Volta 是一个命令行工具

简而言之:

  • 快速版本切换:Volta 允许您使用单个命令立即切换 Node.js 版本。
  • 每个项目的版本指定:通过在每个项目的配置文件中指定版本,您可以自动使用该项目专用的版本。
  • 跨平台:支持 macOS、Linux、Windows 和所有主要操作系统。

安装 Volta 非常简单。下面描述了每个操作系统的安装过程。

macOS/Linux 只需在 shell 中输入以下命令即可。

curl https://get.volta.sh | bash

此命令将从官方网站下载脚本并自动安装。

Windows 用户可以通过从官方网站下载安装程序并运行来安装。

安装 Volta 后,让我们看看如何实际对 Node.js 进行版本控制。

要安装新的 Node.js 版本,请使用类似于以下内容的命令:

volta install node@latest

此命令将安装最新的 Node.js 版本。如果要安装特定版本,@latest请替换为所需的版本号。

volta install node@14.15.0

要查看已安装的 Node.js 版本的列表,请使用以下命令:

volta list node

此命令将显示所有当前安装的 Node.js 版本和当前活动版本。

如果要指定特定项目使用哪个版本的 Node.js,请在项目的根目录中运行以下命令:

volta pin node@14.15.0

这可确保只有该项目使用指定版本的 Node.js。

如果要更改全局使用的版本,请运行以下命令:

volta default node@14.15.0

7.4 nrm

nrm(NPM registry manager)是 npm 的镜像源管理工具,使用它可以快速切换 npm 源。

作为前端开发,你一定使用过 npm 来安装第三方依赖包,但由于 npm 默认的下载仓储地址是 https://registry.npmjs.org/,属于外国的网站,所以我们下载的时候可能会非常的慢。所以淘宝也做了一个 npm 的镜像网站(看这里)。

7.4.1 安装

原始源:

# the original source
https://registry.npmjs.org/

安装 nrm:

npm install -g nrm

列出源的候选项:

nrm ls

输出结果:

npm -------- https://registry.npmjs.org/
yarn ------- https://registry.yarnpkg.com/
cnpm ------- http://r.cnpmjs.org/
taobao ----- https://registry.npm.taobao.org/
nj --------- https://registry.nodejitsu.com/
npmMirror -- https://skimdb.npmjs.com/registry/
edunpm ----- http://registry.enpmjs.org/

使用淘宝源:

nrm use taobao

7.4.2 修改全局的注册

设置成淘宝源:

npm config set registry https://registry.npm.taobao.org

查看结果:

npm config get registry

输出结果:

https://registry.npm.taobao.org/

测试一下:

npm info underscore

在命令行里指定源:

npm --registry https://registry.npm.taobao.org install [name]

修改 ~/.npmrc

registry = https://registry.npm.taobao.org

使用 cnpm:

npm install -g cnpm --registry=https://registry.npm.taobao.org
cnpm install [name]

7.5 pnpm

pnpm 是 Node.js 的替代包管理器。它是 npm 的直接替代品,速度更快、效率更高。它的主要特点是:

  1. 空间效率:pnpm 使用了一种称为“链接式依赖管理”的方法,它通过在磁盘上共享相同的依赖项,减少了重复的包的拷贝。这种链接方式可以显著减少项目的磁盘空间占用,特别是当你有多个项目使用相同的依赖项时。
  2. 安装速度:由于 pnpm 采用链接式依赖管理,它能够更快地安装和更新依赖项。相对于传统的包管理器如 npm 或 Yarn,pnpm 只需要下载依赖项一次,并在不同项目之间共享。这可以加快依赖项的安装速度,特别是在大型项目或具有复杂依赖关系的项目中。
  3. 网络带宽节省:由于链接式依赖管理,pnpm 在下载依赖项时可以节省网络带宽。当多个项目使用相同的依赖项时,pnpm 只需要从网络上下载一次,而其他项目可以通过链接进行共享。这对于团队合作或在有限的网络环境下工作的开发人员来说尤为有用。
  4. 兼容性:pnpm 完全兼容 npm 生态系统,它可以使用 package.json 文件来管理依赖项,可以运行 npm 脚本,并且可以与现有的 npm 包无缝配合使用。这意味着你可以在项目中使用 pnpm,而不需要对现有的代码和工作流进行任何修改。

安装:

brew install pnpm

pnpm 可能过长而难以输入,您也可以使用较短的别名,例如 pn。只需将下面这行代码放入 .bashrc、 .zshrc 或 config.fish 文件中:

# 使用较短的别名
alias pn=pnpm

# 保存之后,source 一下
source ~/.zshrc

7.6 Go

需要 Go 开发的同学可以安装一下,不需要的可跳过~

1、brew install go 默认安装最新的,更新 go 也是这条命令,建议使用这个方法,省事。

2、从官网或其他网站下载 pkg 安装包

3、Mac 卸载方法参考: golang/doc

sudo rm -rf /usr/local/go
sudo rm -rf /etc/paths.d/go

4、brew 安装 Go 流程

# 升级 brew
brew update
# 更新版本
brew update go
# 切换版本
brew switch go 1.16
# 卸载
brew uninstall go
# 安装指定版本
brew install go@1.17
# 使用这种方式有个问题就是安装的路径不在 go 路径下,而是在路径 go@17 下,这样使用 brew switch go 1.17 时就会提示找不到这个版本,因为 brew switch 只识别路径 go
# 解决办法就是: mv go@1.17 go,把整个目录移动到 go 目录

5、mac 下 go 多版本共存切换

brew info go 可以查看当前安装的 go 版本有哪些,比如当前安装的是 go1.15,现在想安装个低版本如 go1.12.17。 操作如下:

ll /usr/local/bin/go  # 查看当前 go 对应的软连接
brew search go # 查看可用的 go 版本
brew install go@1.12  # 安装 1.12 版本
brew unlink go # 将当前软链移除
brew link go@1.12 # 指定新的软链
ll /usr/local/bin/go && go env  # 验证修改后的版本

brew list name: 来显示安装路径

  • 通过 brew install 安装应用最先是放在/usr/local/Cellar/ 目录下
  • 有些应用会自动创建软连接放在/usr/bin 或者/usr/sbin,同时也会将真个文件夹放在/usr/local
  • 可以使用 brew list 软件名 比如 brew list oclient 确定安装位置

8、Mac 效率神器 —— Alfred

一直用的一个神器,真神器!谁用谁知道~

在 Mac 生态系统中,有很多原生和第三方的软件,可以极大的提高 Mac 系统的使用效率。在这些众多的 App 中,有一款著名的软件你不得不知,那就是 Mac 下大名鼎鼎的效率神器—Alfred。

下载链接:Alfred

使用 Alfred,你完全可以在手不离开键盘、完全脱离鼠标的情况下,完全操控你的 Mac。你可以使用 Alfred 快速打开某个 App,搜索想要的文件,快速搜索网络上的内容,定制特定的 workflow,移动任意的文件,让系统剪切板在你的掌控之下,等等等。Alfred 在某些场合下就是 Mac 原生软件 Spotlight 的完美替代品,但是其功能范围远远超过 Spotlight。所以,有了 Alfred,你完全可以抛弃 Spotlight 了。

Mac 效率神器 —— Alfred

Alfred 提供了以下的一系列特征功能:

  • App 启动。只需输入简单的几个字母,就能快速打开某个 App;
  • 文件搜索。只需输入部分文件名字符串,就能快速的搜索出某个文件,甚至能基于文件内容中的关键字进行搜索;
  • 网络搜索。输入特定的关键字,就能在任意特定的搜索引擎中进行内容的搜索,而无需首先打开浏览器;
  • 计算器。可以直接在输入栏中输入表达式进行计算;
  • 字典。可以直接在输入栏中输入单词进行翻译;
  • 联系人列表。可以快速打开某个联系人的相关信息,包括电话和 Email;
  • 剪切板历史。可以记住你之前对文本、图片、链接等的所有复制记录,然后进行选择性粘贴;
  • 缩略语和文字拓展。只需简单的几个字母,就能输入一些常用的语句;
  • iTunes 迷你播放器。可以使用迷你播放器,在没有鼠标的情况下控制你的音乐集;
  • 1Password。有太多的密码需要记住,是不是好头疼?没关系,1Password 来帮你;
  • 系统命令。Alfred 包含了一系列的系统命令,可以在 Alfred 中输入这些命令来控制你的 Mac;
  • 终端。你可以在 Alfred 输入栏里快速执行一些常用的终端命令;
  • 远程控制。让 Alfred 变成 Mac 的控制中心,可以使用 iPhone 或者 iPad 远程控制你的 Mac;
  • Workflow。Alfred 最强大的工具,可以定制你想要的任意工作流程,使一些需要很多步骤的复杂工作变成简单的自动化流程,大大提高你的学习工作效率;
  • 外观主题。颜值控?没关系,你可以定制 Alfred 的外观,选择自己想要的主题。

这里我就推荐几个:

  • Dash : 快速索引跳转到 dash 手册的
  • CalireSearch : 索引 calibre 里面的书籍进行跳转
  • Github repos : 快速跳转到自己的一些 github 仓(需要配置 token)
  • NpmSearch : 快速搜索 npmjs.org 上的某个包,直接浏览器打开
  • StackOverflow: .so + question 筛选出问题列表,浏览器打开
  • Colors: 颜色处理

它有大量的骚操作,网上有很好的教程:Alfred 系列教程

Alfred 平替 – Raycast

Raycast 是一个类似 Alfred ,但是比 Alfred 更加强大的效率软件。

平替:raycast

无法验证开发者

A: 系统偏好设置 -> 安全性与隐私 -> 通用 -> 允许

快捷键 功能
+ 下一页
+ 上一页
+ P 打开环境设置页面(如果有)
+ D 打开详情页(如果有)
+ O 在浏览器打开页面(如果有)
+ Enter 在表单页,提交表单(如果有)

9、Mac 自带的快速操作

有时候我们想快捷地再某一些 IDE 中打开电脑中的某一个项目或者文件夹,如果按照常规操作,是先打开 IDE,再把项目文件拖进去,或者直接用 IDE 的打开文件夹功能,这总会花几步来实现,有点麻烦,Mac 提供了快速操作功能:

Mac 自带的快速操作

怎么设置呢?

这时候就可以用 7 种的神器 Alfred 来快捷找到自动操作这个功能:

神器 Alfred 来快捷找到自动操作

接着选“快速操作”:

快速操作

然后找到“打开访达项目”,打开方式,找到你想要打开的应用程序即可:

打开访达项目

然后保存,这一套流程命名.

你就可以右键,看到快捷操作中实现了快捷在 Android Studio 中打开项目的快速操作了。

快捷在 Android Studio 中打开项目的快速操作

是不是很方便!

结语

目前基本的配置就这些了,后续再根据需求继续配置新东西,然后再同步更新给大家~如果大家有更好的配置,欢迎留言。

「点点赞赏,手留余香」

1

给作者打赏,鼓励TA抓紧创作!

微信微信 支付宝支付宝

还没有人赞赏,快来当第一个赞赏的人吧!

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
码云笔记 » 程序员的新 Mac 必备配置清单,拿走不谢~

发表回复