MAC M1 安装开发环境指北
拿到新电脑了,开始倒腾必须的开发资源安装,记录一下M1芯片Mac安装各种开发环境的过程和注意事项。
环境变量设置问题
MAC的命令终端可以通过.bash_profile
或者.zshrc
设置环境变量,两者的区别在于.zshrc
开机自动生效,而.bash_profile
需要使用source ~/.bash_profile
使其生效,也可以在.zshrc
中加一行source ~/.bash_profile
来自动加载。
⚠️ 注意:.zshrc
不是手动创建,如果没有这个文件,需要先安装oh-my-zsh
Xcode
Mac 拥有自己的开发环境 Xcode,它包含大部分在 CMake 过程中需要的东西。
建议直接在App Store安装。Xcode提供了大量开发工具和SDK,是Mac开发环境的基础组件。
实现原理
Xcode安装后会自动配置多种开发工具,包括编译器、调试工具和Command Line Tools,为后续安装其他开发环境提供基础支持。
Homebrew
在Mac上使用brew
安装软件十分方便,是Mac平台的包管理神器。安装brew时可能需要科学上网。
常用命令
brew list
- 查看已安装包列表brew uninstall pkgname
- 卸载安装包brew cleanup [可选pkgname]
- 清理软件的旧版本brew update
- 更新Homebrew自身brew upgrade
- 更新所有安装的包
最佳实践
对于M1芯片的Mac,Homebrew默认安装在/opt/homebrew/
目录,与Intel芯片的/usr/local/
不同,安装后建议将路径添加到环境变量:
参考资源
oh-my-zsh
强大的zsh配置管理工具,提供丰富的主题和插件
最佳实践
安装完成后,可以通过编辑~/.zshrc
文件自定义主题和加载插件:
参考资源
Python3
系统自带的Python是古老的2.x版本,2020年已停止更新,建议安装Python3
实现原理
Homebrew安装的Python3会被放置在/opt/homebrew/bin/
目录下,与系统自带的Python分开管理,通过别名可以默认使用Python3。
pip
pip 是Python的包管理工具,用于安装和管理Python包,是easy_install的替代品
最佳实践
配置pip国内镜像源可以加速包的下载:
ffmpeg
强大的音视频处理工具,M1芯片上安装需注意架构兼容性
实现原理
M1芯片上的ffmpeg使用ARM架构编译,相比x86版本在某些音视频处理任务上性能更优,但可能存在部分库兼容性问题。
参考资源
git
版本控制工具,Xcode安装后可能已经自带
最佳实践
初次设置git的用户信息:
nvm
Node.js版本管理工具,便于在不同项目间切换Node版本
实现原理
nvm通过修改PATH环境变量来切换不同版本的Node.js,使多版本共存且互不干扰。
Node.js/npm
使用nvm安装Node.js,可同时安装多个版本
最佳实践
设置npm国内镜像源加速包下载:
yarn
Facebook开发的依赖包管理工具,比npm更快、更可靠
实现原理
yarn通过并行下载和缓存机制提高了包安装速度,同时使用锁文件确保安装依赖的一致性。
OpenCV
强大的计算机视觉库,在M1上安装需注意ARM架构兼容性
安装位置及结构
- 本体:
/usr/local/Cellar
或 M1芯片上/opt/homebrew/Cellar
- 头文件:
/usr/local/include
或/opt/homebrew/include
- 库文件:
/usr/local/lib
或/opt/homebrew/lib
- cmake module:
/usr/local/share
或/opt/homebrew/share
- 二进制文件:
/usr/local/bin
或/opt/homebrew/bin
,包含自带的Demo - 符号链接:
/usr/local/opt
或/opt/homebrew/opt
PHP
主要用于Web开发的脚本语言
参考资源
Golang
Google开发的编程语言,以高效的并发处理著称
最佳实践
设置GOPATH环境变量:
TypeScript
JavaScript的超集,添加了类型系统
实现原理
TypeScript编译器将TypeScript代码转换为JavaScript代码,使开发人员能够利用类型系统进行更可靠的开发。
参考资源
wget
强大的命令行下载工具,支持断点续传和递归下载
最佳实践
使用wget镜像整个网站:
参考资源