当 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 所在的任何目录。
我需要在非默认目录中安装 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 所在的任何目录。