Bootstrap

Rtools44安装到D盘

 #RTOOLS44安装配置最新方法#

安装Rtools44到非默认目录时,按照网上说的方法配置.Renviron会出现不论如何最终都无法被R识别的问题。试了各种方法,网上说的都是设置%RTOOLS40_PATH%系统环境变量,但实际上R-4.4.2并不读取系统变量(也可能改名字了,我没有细读)。

首先,R-4.4.2以及Rstudio并不从系统环境变量里读取Rtools路径,不论你设置RTOOLS40_HOME还是改成RTOOLS44_HOME,实际上它不能从系统变量里读取这个,而是根据R目录里etc/Rcmd_profile的命令,如果RTOOLS44_HOME找不到就用默认的c:\rtools44:

R_RTOOLS44_PATH="${RTOOLS44_HOME:-c:/rtools44}/x86_64-w64-mingw32.static.posix/bin;${RTOOLS44_HOME:-c:/rtools44}/usr/bin"

但问题是RTOOL44_HOME不从系统变量里读取,又没有预设,最终你不论怎么配置.Renviron或者修改系统变量都没用。正确的做法是在.Renviron里添加Rtools目录:

RTOOLS44_HOME=D:/rtools44

其次,在R的说明文件README.R-4.4.2里找到了R环境变量设置的顺序:

R读取环境变量的顺序,是%R_USER%>%HOME%>当前用户Document>%HOMEDRIVE%:/%HOMEPATH%>%R_HOME%/etc,这也是读取其他配置文件如.Rprofile的顺序。而%R_USER%环境变量具体是那里,直接通过Sys.getenv()查看默认的路径是什么。

但是R和Rstudio对R_USER的默认设置是不一样的

所以如果想要让R和Rstudio都能正确识别Rtools,最好的方法是在R默认的%HOME%目录(根据Sys.getenv()确认)里添加一个.Renviron,因为%HOME%在R和Rstudio里默认位置是一样的,这里的.Renviron可以被两个程序同时读取。

并且参考如下设置(具体路径自行调整),将Rtools目录,R_USER改为Rstudio的工作目录,并设置RTOOLS44_HOME的路径。

#Rtools directory
RTOOLS44_HOME=D:/Bioinformatics/environment/rtools44
#R package directory
R_LIBS_USER=D:/Bioinformatics/environment/packages/R
#R working directory
R_USER=D:/Bioinformatics/project/R

最后在Rstudio工作目录里放一个一样的.Renviron,否则Rstudio和R的R_USER变量仍然不统一,有可能会导致意外结果

;