【问题标题】:rstudio different library path to command-line R (`$R_LIBS_USER`)rstudio 命令行 R 的不同库路径(`$R_LIBS_USER`)
【发布时间】:2013-04-09 13:53:49
【问题描述】:

我正在尝试找出为什么我的.libPath 在命令行 R 和 RStudio Desktop 之间有所不同(注意:这是 不是 @987654321 的副本@ 因为该修复涉及我没有的特定于 RStudio Server 的东西)。

当我在命令行 (linux) 上使用 R 时:

> .libPaths()
[1] "/home/mathematicalcoffee/R/library"  "/usr/local/lib/R/site-library"
[3] "/usr/lib/R/site-library"             "/usr/lib/R/library"           

当我使用 RStudio 桌面(linux,同一台机器)时:

[1] "/usr/local/lib/R/site-library" "/usr/lib/R/site-library"       "/usr/lib/R/library"            "/usr/lib/rstudio/R/library"  

现在我已在我的 bash 配置文件中将 $R_LIBS_USER 设置为 ~/R/library,因此 R 命令行将其作为我首选的 libPath。

当我这样做时,问题出在 RStudio Desktop 中:

Sys.getenv('R_LIBS_USER')
# "~/R/x86_64-pc-linux-gnu-library/2.15"

那么,为什么 RStudio Desktop 更改了我的 R_LIBS_USER?我怎样才能把它改回来? (我不使用 .Rprofile 文件)。 (在我上面链接的问题中,RStudio Server 的解决方案是修改 /etc/rstudio/rsession.conf,但我没有,因为我有 RStudio Desktop。另外,我相信 RStudio 应该尊重我的 R_LIBS_USER 环境变量。)

【问题讨论】:

  • 尝试在您的$R_HOME/etc/Renviron 文件中设置R_LIBS_USER
  • 感谢@flodel,这很有效。猜猜 RStudio 没有阅读我的 .bashrc
  • @DWin 好的。我正要删除问题以在 rstudio 支持处重新提出,但现在它不会让我,因为它有答案。很高兴它被关闭
  • @mathematical.coffee 它会跳过阅读 .bashrc 但会尊重 .profile 中的内容,如果这对您有帮助的话。

标签: r rstudio


【解决方案1】:

你写:

现在我已在我的 bash 配置文件中将 $R_LIBS_USER 设置为 ~/R/library,

您是否偶然从 gui 图标调用 RStudio,即没有调用您的 ~/.bash_profile ?也许您可以尝试调用包装器来设置它?

对于它的价值,.libPaths() 在 RStudio 桌面和服务器下返回相同的东西(尽管服务器附加了它的内部目录),R 在命令行上并通过 ESS 为我返回。

编辑:一般来说,请阅读help(Startup),这将是值得花时间的。 @flodel 的评论非常恰当。如果您在系统级别始终无法处理这个问题,您可以随时转向 R,无论是在其系统级别(通过 RenvironRenviron.site)还是通过 ~/R/ 目录。

【讨论】:

    【解决方案2】:

    只是在这里记录一下以防有人觉得它有用,根据ArchWiki我们可以在~/.Renviron中定义R_LIBS_USER,我觉得这是为R定义特定变量的更方便的方法。

    【讨论】:

      猜你喜欢
      • 2016-02-21
      • 1970-01-01
      • 2018-11-02
      • 1970-01-01
      • 2011-10-31
      • 2017-06-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多