询问超级用户并得到蟋蟀,所以在这里尝试。这个似乎跨越了 SU/SO 的边界。
在解决某种 R 配置问题时,尝试在同事的 Windows 10 机器上编织 .Rmd 时导致 pandoc 转换失败,我注意到第一个路径.libPaths()指向网络目录上的路径而不是c:/Users/[username]/R/win-library/...目录。
Sys.getenv()在 R 中运行显示HOMEDRIVE和HOMEPATH(如预期的那样)c:和\Users\[username],但HOME列出了一个环境变量,指向我们在中找到的网络路径.libPaths()
SET在 cmd shell 中运行根本没有列出这个HOME环境变量,所以它似乎是 R 在其他地方找到的东西......
R 从哪里获得这个HOME环境变量?
FWIW:我通过设置 Windows 用户环境变量 HOME=%HOMEDRIVE%%HOMEPATH% 修复了配置问题;R 然后从那里适当地设置所有其他环境变量。
R 启动有点复杂,但它有很好的文档记录。通常的起点是help("Startup")。你的问题的答案没有记录在那里,但你会在另见部分找到这个线索:
有关 Windows 上“home”目录的定义,请参阅“rw-FAQ”Q2.14。它可以通过 Sys.getenv("R_USER") 从正在运行的 R 中找到
实际上,https : //cran.r-project.org/bin/windows/base/rw-FAQ.html#What-are-HOME-and-working-directories_003f 上引用的常见问题解答给了我们答案:
主目录设置如下: 如果设置了环境变量 R_USER,则使用其值。否则,如果设置了环境变量 HOME,则使用其值。在这两个用户可控设置之后,R 尝试查找系统定义的主目录。它首先尝试使用 Windows 的“个人”目录(通常是 C:\Users\username\Documents)。如果失败,如果环境变量 HOMEDRIVE 和 HOMEPATH 都已设置(它们通常是),则值为 ${HOMEDRIVE}${HOMEPATH}。如果所有这些都失败,则使用当前工作目录。
| 归档时间: |
|
| 查看次数: |
2052 次 |
| 最近记录: |