【问题标题】:Synchronizing R system settings from Terminal, GUI and RStudio从终端、GUI 和 RStudio 同步 R 系统设置
【发布时间】:2018-06-10 14:59:54
【问题描述】:

我在 MacOS 上的问题是我可以从 GUI(也称为控制台,从 CRAN 下载)、终端或从 RStudio 使用 R,但我不能让它们以相同的方式运行。

具体的例子是我可以在终端和 RStudio 上使用 rJava,但不能在 GUI 上使用。 Rmarkdown pdf 输出也会发生类似的情况。我通常会从 GUI 中得到错误,但在终端或 RStudio 上一切都很好。如何将 R GUI 设置更新为与终端相同?

ps。例如R CMD javareconf 命令处理的是终端 R 而不是 R GUI。

编辑:它实际上不需要一个最小的工作示例,但让我们在安装后尝试library(rJava)

R 从终端调用(与 RStudio 相同)

没问题。

sessionInfo()
R version 3.5.0 (2018-04-23)
Platform: x86_64-apple-darwin15.6.0 (64-bit)
Running under: macOS High Sierra 10.13.5

Matrix products: default
BLAS: /Library/Frameworks/R.framework/Versions/3.5/Resources/lib/libRblas.0.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/3.5/Resources/lib/libRlapack.dylib

locale:
[1] C/UTF-8/C/C/C/C

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

loaded via a namespace (and not attached):
[1] compiler_3.5.0

R 图形界面

sessionInfo()
R version 3.5.0 (2018-04-23)
Platform: x86_64-apple-darwin15.6.0 (64-bit)
Running under: macOS High Sierra 10.13.5

Matrix products: default
BLAS: /Library/Frameworks/R.framework/Versions/3.5/Resources/lib/libRblas.0.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/3.5/Resources/lib/libRlapack.dylib

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

loaded via a namespace (and not attached):
[1] compiler_3.5.0 tools_3.5.0 

Sys.getenv() 之间的一些区别是 GUI 有以下额外的

LD_LIBRARY_PATH                :@JAVA_LD@
DYLD_LIBRARY_PATH              /Library/Java/JavaVirtualMachines/jdk-10.0.1.jdk/Contents/Home/lib/server

简要更新:我能够通过 using this link 纠正 Rmarkdown 情况,并通过在 R 控制台上写入 ?Startup 来阅读帮助。更改了我的R.home()/etc/ 上的Renviron 文件。但还是没有rJava

【问题讨论】:

  • 请提供一个可重现的最小示例。
  • 我们需要来自所有环境的sessionInfo() 输出。 /etc/profile~/.bash_profile 的输出。 Sys.getenv() 的输出也来自所有环境。哦,您也不应该发布其中一些位,因为它们可能包含敏感数据(如令牌或凭据)。众所周知,rJava 很难正常工作。
  • 我从这个小小的常见问题解答项目中得到了一半的回复:cran.r-project.org/bin/macosx/…,但 rJava 问题仍然存在。
  • 向问题添加了信息。不知何故,这台 Mac 上没有 bash_profile。
  • 我不知道它是否仍然相关,但 rJava 的 rJava.so 文件明确指出 jdk-9 而我有 10 个。@hrbrmstr

标签: r


【解决方案1】:

对于 R Markdown 问题,我设法通过添加 ~/.Renviron 文件并使用从终端的 Sys.getenv() 参数中获得的值定义 PATH 参数来处理它。

对 High Sierra 的 rJava 唯一有效的是以下答案(不过将版本更改为 3.5)

https://stackoverflow.com/a/47685001/3608936

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-01
    • 2017-06-16
    • 1970-01-01
    • 2020-10-28
    • 2014-03-13
    • 2019-04-14
    • 1970-01-01
    相关资源
    最近更新 更多