MacOS 使用了ARM64芯片之后,许多App还在逐渐的适配中,一些未适配的App使用上就会有些麻烦,这里记录MacOS配置过程,也专门对M1芯片的特殊情况予以记录。
Brew安装
brew官方源在github上,国内安装非常缓慢。虽然安装之后可以切换到国内镜像,但有可能安装过程就会失败,因此我们需要想办法加速安装过程。
最新的brew安装脚本换成了bash 脚本:https://raw.githubusercontent.com/Homebrew/install/master/install.sh下载这个脚本之后直接执行即可安装。无奈国内安装时github的下载速度非常喜人,所以建议直接修改install.sh脚本中的源地址为国内的源,使用国内镜像安装。先在脚本中修改配置:
HOMEBREW_CORE_GIT_REMOTE="https://mirrors.ustc.edu.cn/homebrew-core.git"
HOMEBREW_BREW_GIT_REMOTE="https://mirrors.ustc.edu.cn/brew.git"
然后再安装,安装之后会直接使用国内镜像安装。
安装过程中如果中断退出,导致无法安装,可以使用卸载脚本https://raw.githubusercontent.com/Homebrew/install/master/uninstall.sh 执行清除,然后重新安装。
Mac下brew默认安装在/opt/homebrew下,安装之没有cask源,可以执行以下命令手工安装:
cd /opt/homebrew/Library/Taps/homebrew
git clone https://mirrors.ustc.edu.cn/homebrew-cask.git
如果使用bash,请在~/.bashrc
,如果使用zsh,在 .zprofile
或 .zshrc
中添加以下行:
eval $(/opt/homebrew/bin/brew shellenv)
然后重新打开一个新的命令行终端,开心的安装你想安装的App吧:
brew install microsoft-office
brew install iterm2
brew install opencv
App对M1的支持情况
-
VSCode
2021.3,VSCode已发布release版版支持M1。
-
numpy/opencv
2021.3,numpy/opencv已经可以正常安装(直接使用brew安装,不要pip安装)
brew install numpy brew install opencv
import nump as np import cv2 as cv print(cv.__version__) print(np.__version__)
MacOS 杂项
-
内置Apache管理 Mac内置了Apache,可以通过以下命令查看配置选项或者重启:
sudo /usr/sbin/apachectl -V sudo /usr/sbin/apachectl restart
禁止或开启Apache自动启动,可以执行: ```shell sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist
需要注意的是,最新版本的Apache不再支持PHP模块,因此需要使用Brew来安装PHP,利用fastcgi来支持: 在/private/etc/apache2/other目录下增加php.conf:
<VirtualHost *:*> ProxyPassMatch "^/(.*\.php(/.*)?)$" "fcgi://127.0.0.1:9000/Users/uio/www/$1" </VirtualHost> <FilesMatch \.php$> # 2.4.10+ can proxy to unix socket # SetHandler "proxy:unix:/var/run/php5-fpm.sock|fcgi://localhost/" # Else we can just use a tcp socket: SetHandler "proxy:fcgi://127.0.0.1:9000" </FilesMatch> <IfModule dir_module> DirectoryIndex index.html index.php </IfModule>
然后执行 ```shell brew services start php # 查看brew 管理的services # brew services list
即可启动php-fpm,可以正常的访问PHP脚本了。