在新安装的Fedora 43上安装tidyverse包时遇到问题
我已经尝试安装tidyverse R包好几个小时了。我是在全新安装的Fedora 43(运行KDE Plasma)上,而且没有使用RStudio。每次在全新Fedora安装上安装同一个包时,我通常只需要在R 之外安装依赖项(xml2、curl、openssl、libuv、libpng、libjpeg、libtiff、libwebp、fontconfig和 freetype2),然后tidyverse就会像往常一样安装。通常我可以通过错误信息来判断哪些依赖缺失,错误信息下方会有一个名为ANTICONFIG的标题。我也查过是否有其他人遇到相同的问题,但他们的情况都不完全相同(也许我遗漏了什么)。
到目前为止,我已经安装了这些错误信息中R 要求的所有依赖,但仍然无法安装tidyverse。此外,错误信息再也不具备信息量,所以我不知道接下来该怎么做。我在我的研究中用这个包进行所有数据可视化,因此不能没有它。
当前的错误信息如下,来自命令 install.packages("tidyverse")。
> install.packages("tidyverse")
Installing package into '/home/oliver/R/x86_64-redhat-linux-gnu-library/4.5'
(as 'lib' is unspecified)
--- Please select a CRAN mirror for use in this session ---
also installing the dependencies 'rmarkdown', 'reprex'
trying URL 'https://cloud.r-project.org/src/contrib/rmarkdown_2.31.tar.gz'
trying URL 'https://cloud.r-project.org/src/contrib/reprex_2.1.1.tar.gz'
trying URL 'https://cloud.r-project.org/src/contrib/tidyverse_2.0.0.tar.gz'
* installing *source* package 'rmarkdown' ...
** this is package 'rmarkdown' version '2.31'
** package 'rmarkdown' successfully unpacked and MD5 sums checked
** using staged installation
** R
** inst
** byte-compile and prepare package for lazy loading
Error: object 'attr' is not exported by 'namespace:xfun'
Execution halted
ERROR: lazy loading failed for package 'rmarkdown'
* removing '/home/oliver/R/x86_64-redhat-linux-gnu-library/4.5/rmarkdown'
ERROR: dependency 'rmarkdown' is not available for package 'reprex'
Perhaps try a variation of:
install.packages('rmarkdown')
* removing '/home/oliver/R/x86_64-redhat-linux-gnu-library/4.5/reprex'
ERROR: dependency 'reprex' is not available for package 'tidyverse'
Perhaps try a variation of:
install.packages('reprex')
* removing '/home/oliver/R/x86_64-redhat-linux-gnu-library/4.5/tidyverse'
The downloaded source packages are in
'/tmp/Rtmp0GMiOa/downloaded_packages'
Warning messages:
1: In install.packages("tidyverse") :
installation of package 'rmarkdown' had non-zero exit status
2: In install.packages("tidyverse") :
installation of package 'reprex' had non-zero exit status
3: In install.packages("tidyverse") :
installation of package 'tidyverse' had non-zero exit status
解决方案
下面是我打算用来尝试解决这个问题的策略:
- 首先,
xfun在这里以某种方式参与其中。它没有名为attr的函数,但某处的代码似乎要么引用xfun::attr,要么试图从xfun导入attr。我会删除xfun并重新安装它。 - 如果那样没用,我会尝试弄清楚是哪个代码在试图获取
xfun::attr。它可能是一个启动脚本,也可能是你当前工作区中的一个函数。例如,RStudio会把install.packages替换成它自己的函数。也许你在没有使用RStudio的情况下,仍然保留了他们的函数的拷贝。一般来说,在安装前清理工作区只会有帮助(前提是你那里没有不可替代的东西。如果有,先把它保存起来,然后再从工作区删除)。
调试标准的 install.packages() 函数很困难,因为它在某些步骤中会启动独立的R 进程。希望你不需要这么做。
站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。