.Renviron 变量在 powershell 中的 Rscript 运行 时找不到?
.Renviron variables not found when Rscript run from powershell?
我有一个 R 脚本,当 运行 来自 Rstudio 时,它 运行 非常完美。它使用 .Renviron
文件提供在 Sys.getenv()
中可见的环境变量(所以我知道它有效)。
然而,当我 运行 通过 powershell 使用完全相同的脚本时,R 脚本神秘地找不到那些环境变量(我通过 print(Sys.getenv())
确认了这一点 - 通过 .Renviron
不见了。
问题
当 R 脚本是来自 powershell 的 运行 时,为什么没有找到 .Renviron
变量(而不是当脚本在 RStudiom 中是 运行 时,一切正常)
我试过的
.Renviron
文件当前保存在 "C:/Users/Administrator/Documents/.Renviron"
正在检查 normalizePath(Sys.getenv('R_HOME'))
returns "C:\Program Files\R\R-3.6.0"
,所以我也尝试将 .Renviron
放在那里。运气不好
基于this我也尝试了Sys.getenv("C:/Users/Administrator/Documents/.Renviron")
,但还是没有成功
这对我有用
path_to_Renviron_file <- "C:/Users/Administrator/Documents/.Renviron"
readRenviron(path_to_Renviron_file)
RScript 执行与普通 R 相同的初始化,除非使用命令行选项 (--no-environ
) 特别禁用。在不同位置搜索 .Renviron
和 .Rprofile
文件,按优先级降序排列:
- 在当前工作目录
- 在用户的主目录中
- 在 R 主目录中 (
R_HOME
)
The documentation gives more details.
由于您尝试更改位置 (2) 和 (3) 中的文件但没有成功,因此您有 另一个 .Renviron
文件是理所当然的在您启动的当前工作目录中 Rscript
.
我遇到了同样的问题:.Renviron
文件在 Windows 上被完全忽略。
我认为最终起作用的是重新安装 R(我有 R 3.6,安装了 R 4.0)。
但事实证明我错了。魔术酱是将 --cd-to-userdocs
添加到 R.exe
或 Rscript.exe
命令。
我在任何地方都找不到此选项的文档,它没有显示在命令行参数帮助中,但它有效。
我有一个 R 脚本,当 运行 来自 Rstudio 时,它 运行 非常完美。它使用 .Renviron
文件提供在 Sys.getenv()
中可见的环境变量(所以我知道它有效)。
然而,当我 运行 通过 powershell 使用完全相同的脚本时,R 脚本神秘地找不到那些环境变量(我通过 print(Sys.getenv())
确认了这一点 - 通过 .Renviron
不见了。
问题
当 R 脚本是来自 powershell 的 运行 时,为什么没有找到 .Renviron
变量(而不是当脚本在 RStudiom 中是 运行 时,一切正常)
我试过的
.Renviron
文件当前保存在 "C:/Users/Administrator/Documents/.Renviron"
正在检查 normalizePath(Sys.getenv('R_HOME'))
returns "C:\Program Files\R\R-3.6.0"
,所以我也尝试将 .Renviron
放在那里。运气不好
基于this我也尝试了Sys.getenv("C:/Users/Administrator/Documents/.Renviron")
,但还是没有成功
这对我有用
path_to_Renviron_file <- "C:/Users/Administrator/Documents/.Renviron"
readRenviron(path_to_Renviron_file)
RScript 执行与普通 R 相同的初始化,除非使用命令行选项 (--no-environ
) 特别禁用。在不同位置搜索 .Renviron
和 .Rprofile
文件,按优先级降序排列:
- 在当前工作目录
- 在用户的主目录中
- 在 R 主目录中 (
R_HOME
)
The documentation gives more details.
由于您尝试更改位置 (2) 和 (3) 中的文件但没有成功,因此您有 另一个 .Renviron
文件是理所当然的在您启动的当前工作目录中 Rscript
.
我遇到了同样的问题:.Renviron
文件在 Windows 上被完全忽略。
我认为最终起作用的是重新安装 R(我有 R 3.6,安装了 R 4.0)。
但事实证明我错了。魔术酱是将 --cd-to-userdocs
添加到 R.exe
或 Rscript.exe
命令。
我在任何地方都找不到此选项的文档,它没有显示在命令行参数帮助中,但它有效。