Sys.which("make") 为空,尽管 Rtools 在 PATH 中

Sys.which("make") empty although Rtools is in PATH

我已经完全卸载了 R、RStudio 和 RTools 并删除了所有文件夹(如 所述);然后重新安装 R (4.0.4)、RTools (4.0 x86) 和 RStudio (1.4.1106)。我已将 RTools 文件夹添加到路径 (Sys.getenv("PATH") # [1] "$C:\rtools40\usr\bin;...."),但问题仍然存在 - 'make' 是空的,尽管 C:\rtools40\usr\bin\make.exe 存在:

> Sys.which("make")
make 
  "" 

有人可以帮助我吗? (This 问题没有帮助,因为我的 PATH 变量已经包含 RTools 文件夹。)

非常感谢! :)

为了后代:问题是“$”不属于路径。

感谢@r2evans 提供的解决方案 - Sys.setenv(PATH=gsub("^\$", "", Sys.getenv("PATH"))) 成功了。

对我来说,here 提出的解决方案适用于单个会话,然后我必须按照@r2evans 的建议在环境变量设置中永久添加路径。

这是单个会话的解决方案:

path <- Sys.getenv("PATH")
path <- c("C:\RBuildTools\3.3\bin", "C:\RBuildTools\3.3\gcc-4.6.3\bin", path) 
#Remember to substitute the two paths with your actual paths.
path <- paste(path,collapse=";")

#Then run
Sys.setenv(PATH=path)
Sys.which("make")

在临时和永久解决方案中,我必须在 PATH 开头包含路径,否则无法识别它们,但我不知道为什么。