R 语言的安装

最新测试版R-4.1.0已经原生支持M1芯片的Mac了,虽然R可以在Rosetta 2转译下工作良好,但我仍旧建议每个人都是用原生版,因为转译毕竟会有性能损耗。

step1 (下载安装)

下载R-devel: https://mac.r-project.org/big-sur/R-devel/R-devel.pkg

下载完成后就像往常那样安装好后就可以在应用中找到R的图标了,通过点击该图标,你现在可以立马打开Rgui版本了。但是另一个选择是通过终端进入R,此时你会兴奋的在终端键入R,但你并不会打开R,因为通过该方式安装的R并没有添加入环境变量中,因此我们需要找到R的安装位置并添加环境变量

  1. find /Library -name Rscript

然后将找到的bin目录添加环境变量即可,例如

  1. echo 'export PATH=/Library/Frameworks/R.framework/Versions/4.1-arm64/Resources/bin/:$PATH' >> ~/.bashrc

step2 (安装Rstudio)

目前Rstudio的gui还无法原生支持M1芯片,但是Rstudio只是一个外壳而已,我们只需要它能正常运行并支持刚才安装的R即可,因此,需要下载安装最新的
Rstudio-dev版本

打开网站https://dailies.rstudio.com/,从里面下载最新的Rstudio,安装即可支持。

step3 (安装R包)

你可以像往常一样安装R包,例如

  1. install.packages()

但是大部分情况下,你需要从源码编译安装,那么一些动态链接库和头文件就是必不可少的。

该版本的R默认动态链接库和一些头文件的位置发生了变化,不在是以前的/usr/local下,而是更换为/opt/R/arm64/下,你可以通过homebrew安装需要的库并添加软链接至这个目录下。homebrew将在下一部分提及。

安装python3.9

以arm架构的3.9.1版本为例,虽然系统有自带的arm版本的python3.8.2,但是不建议使用,系统自带的Python会缺失部分功能。

但是因为conda对于M1的支持并不健全,所以我们只能通过homebrew来安装python,所以接下来,我们需要先安装支持M1的homebrew

安装homebrew

Homebrew是macOS上常用的软件包管理工具之一,2月5日Homebrew刚刚发布了支持M1芯片的3.0.0正式版。可以打开终端,通过以下命令安装:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

安装时可能无法访问该网站,可通过在家目录下的.bashrc文件(没有则创建)中加入export ALL_PROXY=socks5://127.0.0.1:代理端口号设置bash的代理

M1芯片的Mac的Homebrew默认安装位置在/opt/homebrew,而非/usr/local,也就说明:

原来的/usr/local/bin对应/opt/homebrew/bin
原来的/usr/local/sbin对应/opt/homebrew/sbin
原来的/usr/local/lib对应/opt/homebrew/lib
原来的/usr/local/include对应/opt/homebrew/include
原来的/usr/local/etc对应/opt/homebrew/etc

通过brew安装python

通过

brew install python3

即可安装arm版本的3.9.1,其路径在/opt/homebrew/bin/python3

安装包

可以通过homebrew来安装包,例如

brew install numpy

当然,可以先尝试pip3来安装,实在不行可以试着brew,如果都不行,只能等该包支持了。