从CRAN安装软件包时,R无法找到Rtools

3
每当我安装新软件包时,都会出现“找不到Rtools”的错误。我按照手动安装指南安装了Rtools,但仍然收到相同的错误消息。
> install.packages("phyloseq")
WARNING: Rtools is required to build R packages but is not currently installed. Please download and install the appropriate version of Rtools before proceeding

看起来 R 没有找到 Rtools。有没有什么方法可以解决这个问题?

我注意到在启动新的 R 会话时,之前安装的包会消失,这可能与前面提到的问题有关联吗?

我的 R 版本是 4.0,我正在使用 Windows 64 位操作系统。

1个回答

7
安装完成后,您需要执行一个步骤才能编译R包:您需要将Rtools make工具(bash、make等)的位置添加到PATH环境变量中。最简单的方法是在您的“Documents”文件夹中创建一个名为“.Renviron”的文本文件,其中包含以下行:
writeLines('PATH="${RTOOLS40_HOME}\\usr\\bin;${PATH}"', con = "~/.Renviron")

现在重新启动 R,并验证 make 是否可以被找到,它应该显示您的 Rtools 安装路径。

Sys.which("make")
## "C:\\rtools40\\usr\\bin\\make.exe"

https://cran.r-project.org/bin/windows/Rtools/

如果出现找不到软件包的问题,很可能是因为需要升级R版本,例如从3.5升级到3.6或从3.6升级到4.0。在Documents\R\win-library路径下会有一个与版本对应的文件夹,里面保存了已安装的库。以下是安装旧版本库的脚本:

lib_loc <- "C:/Users/apdev/Documents/R/win-library/3.3"
to_install <- unname(installed.packages(lib.loc = lib_loc)[, "Package"])
to_install
install.packages(pkgs = to_install)

https://community.rstudio.com/t/reinstalling-packages-on-new-version-of-r/7670/4


谢谢,我没想到我可以在R内完成这个步骤! - RMM
请注意:如果第一次运行 Sys.which("make") 未显示路径,则尝试重新启动计算机(解决方案在此处找到:https://stackoverflow.com/questions/61582525/problem-with-installing-rtools-cannot-locate-the-file-in-path) - Tiernan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接