You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

MacOS下安装tidyverse时遭遇404及tar解压错误的解决方法咨询

MacOS下安装tidyverse时遭遇404及tar解压错误的解决方法咨询

你遇到的问题是典型的CRAN镜像包同步延迟+架构适配问题,先把你碰到的错误日志整理出来方便对照:

When I run install.packages("tidyverse") R returns the following also installing the dependencies ‘broom’, ‘modelr’

trying URL 'https://cran.rstudio.com/bin/macosx/big-sur-arm64/contrib/4.5/broom_1.0.11.tgz'
trying URL 'https://cran.rstudio.com/bin/macosx/big-sur-arm64/contrib/4.5/modelr_0.1.11.tgz'
trying URL 'https://cran.rstudio.com/bin/macosx/big-sur-arm64/contrib/4.5/tidyverse_2.0.0.tgz'
tar: Error opening archive: Failed to open '/var/folders/9t/82sm5m050mn69kjjkyxv1l5r0000gn/T//RtmpvybYFj/downloaded_packages/broom_1.0.11.tgz'

Error: file ‘/var/folders/9t/82sm5m050mn69kjjkyxv1l5r0000gn/T//RtmpvybYFj/downloaded_packages/broom_1.0.11.tgz’ is not a macOS binary package

In addition: Warning messages:
1: In .rs.downloadFile(url = c("https://cran.rstudio.com/bin/macosx/big-sur-arm64/contrib/4.5/broom_1.0.11.tgz",  :
  cannot open URL 'https://cran.rstudio.com/bin/macosx/big-sur-arm64/contrib/4.5/broom_1.0.11.tgz': HTTP status was '404 Not Found'
2: In .rs.downloadFile(url = c("https://cran.rstudio.com/bin/macosx/big-sur-arm64/contrib/4.5/broom_1.0.11.tgz",  :
  some files were not downloaded
3: 'tar' returned non-zero exit code 1

核心问题是CRAN官方镜像的ARM64架构(Big Sur)R 4.5版本下,broom_1.0.11的二进制包尚未上线,导致下载失败,进而触发后续的tar解压错误。下面是几个针对性的解决办法:

1. 切换到同步及时的CRAN镜像

国内的CRAN镜像(如清华、中科大)通常同步速度更快,可能已经有了适配的二进制包:

# 临时设置清华CRAN镜像
options(repos = c(CRAN = "https://mirrors.tuna.tsinghua.edu.cn/CRAN/"))
# 重新安装tidyverse
install.packages("tidyverse")

如果用RStudio,也可以通过可视化操作修改:

  • 点击顶部菜单「Tools」→「Global Options」
  • 切换到「Packages」标签页,点击「Change」按钮
  • 选择国内的镜像源(比如「Tsinghua University」),保存后再执行安装命令

2. 改用源码安装方式

当二进制包缺失时,源码安装是最稳妥的备选方案,不过需要先安装Mac的编译工具:

  1. 打开Mac终端,执行以下命令安装Xcode命令行工具:
xcode-select --install
  1. 回到R/RStudio,运行源码安装命令:
install.packages("tidyverse", type = "source")

3. 降级R到稳定版本

你当前使用的R 4.5属于较新的版本,部分包的ARM64二进制包可能还没完成适配。如果上面两种方法都无效,可以考虑降级到R 4.4.x系列稳定版,再尝试安装tidyverse——稳定版本的包生态适配会更完善。

4. 单独安装依赖包再安装tidyverse

可以先手动安装报错的broom包(用源码方式),再安装tidyverse:

# 先安装broom
install.packages("broom", type = "source")
# 再安装tidyverse
install.packages("tidyverse")

火山引擎 最新活动