当 Rtools 安装在 Windows 的非默认目录中时,在 R 中编译 Stan 模型

Compiling a Stan model in R when Rtools is installed in a non-default directory in Windows 7

我需要在非默认目录中安装 Rtools,因为我使用的 Windows 系统会在重启后将 C 盘恢复为原始映像。此图像包括 R 3.3 和 R studio。

在使用 setx /M PATH "%PATH%;foo/bar/bin;foo/bar/compiler/bin" 命令设置没有管理员权限的 PATH 环境变量后,我测试了编译器是否可以在 R 中使用:system('g++ -v')。这有效 - 成功!

...除了,当我在 R 中使用 brms 包编译 Stan 模型时出现以下错误:

  Compilation ERROR, function(s)/method(s) not created! c:/Rtools/mingw_64/bin/g++: not found

如果我将 mingw_64 目录复制到 c:/Rtools 目录,我可以编译模型,但这是一个大文件夹,需要一些时间(~4 分钟)。 不幸的是,我不能简单地为 Rtools 目录创建快捷方式或符号 link,因为我没有管理员权限。

这个默认目录是否硬编码到 Stan 中?我简要地查看了 GitHub 上的代码,但看不到任何影响。

是否还有其他环境变量等。我需要设置?或者,您有其他解决方法吗?

您必须修改配置说明来自 cat('Sys.setenv(BINPREF = "C:/Rtools/mingw_$(WIN)/bin/")', file = file.path(Sys.getenv("HOME"), ".Rprofile"), sep = "\n", append = TRUE) 到你的 Rtools 所在的任何目录。