You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R中安装dplyr 1.0.10版本?编译报错求助

解决dplyr 1.0.10在Apple Silicon Mac上编译失败的问题

问题背景

使用dplyr 1.1.0时,mfdb包的mfdb_dplyr_prey函数出现错误,因此尝试降级安装dplyr 1.0.10,执行以下代码后编译失败:

url_dplyr_1.0.10 <- "https://cran.r-project.org/src/contrib/Archive/dplyr/dplyr_1.0.10.tar.gz"
install.packages(url_dplyr_1.0.10,repos=NULL,type="source")

编译错误信息

核心错误为:

clang: error: the clang compiler does not support '-march=native'

完整错误日志:

trying URL 'https://cran.r-project.org/src/contrib/Archive/dplyr/dplyr_1.0.10.tar.gz'
Content type 'application/x-gzip' length 884984 bytes (864 KB)
==================================================
downloaded 864 KB

* installing *source* package ‘dplyr’ ...
** package ‘dplyr’ successfully unpacked and MD5 sums checked
** using staged installation
** libs
clang++ -arch arm64 -std=gnu++14 -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG   -I/opt/R/arm64/include   -fPIC  -falign-functions=64 -Wall -g -O2  -O3 -march=native -c chop.cpp -o chop.o
clang: error: the clang compiler does not support '-march=native'
make: *** [chop.o] Error 1
ERROR: compilation failed for package ‘dplyr’
* removing ‘/Library/Frameworks/R.framework/Versions/4.2-arm64/Resources/library/dplyr’
* restoring previous ‘/Library/Frameworks/R.framework/Versions/4.2-arm64/Resources/library/dplyr’
Warning in install.packages :
  installation of package ‘/var/folders/zj/1863w5hj19vbt381ctytbhx00000gn/T//RtmpwaPvih/downloaded_packages/dplyr_1.0.10.tar.gz’ had non-zero exit status

系统环境信息

sessionInfo()
# R version 4.2.2 (2022-10-31)
# Platform: aarch64-apple-darwin20 (64-bit)
# Running under: macOS Monterey 12.6.3
# 
# Matrix products: default
# 
# LAPACK: /Library/Frameworks/R.framework/Versions/4.2-arm64/Resources/lib/libRlapack.dylib
# locale:
# [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
# 
# attached base packages:
# [1] stats     graphics  grDevices utils     datasets  methods   base     
# 
# other attached packages:
# [1] rstudioapi_0.14 ggplot2_3.4.0   mfdb_7.3-1      dplyr_1.1.0

解决方案

方法1:替换编译参数

Apple Silicon的clang不支持-march=native,安装前临时设置适配的编译参数:

Sys.setenv(CXXFLAGS = "-O3 -mcpu=apple-m1")
install.packages(url_dplyr_1.0.10, repos = NULL, type = "source")

方法2:使用预编译二进制包

避免源码编译,用pak包自动匹配适合系统的预编译版本:

# 先安装pak(未安装时执行)
install.packages("pak")
# 安装指定版本dplyr
pak::pak("dplyr@1.0.10")

方法3:优先修复mfdb兼容性

如果降级dplyr只为解决mfdb_dplyr_prey的问题,先尝试更新mfdb包,看是否已适配dplyr 1.1.0:

install.packages("mfdb")

内容的提问来源于stack exchange,提问作者williantafsilva

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 14:25:47