【问题标题】:Shell PATH to R under macOS Big SurmacOS Big Sur 下的 Shell PATH to R
【发布时间】:2021-03-08 20:18:01
【问题描述】:

我在 Big Sur 下的 R CMD 有问题。我通过默认的 .pkg(不是通过 brew)安装了 R,并且我一直使用 zsh(Z shell)作为默认 shell。我认为我的 PATH 存在无法修复的问题。

在终端:

~ echo $0  
zsh  
~ echo $PATH             
/Library/Frameworks/Python.framework/Versions/3.9/bin:/Library/Frameworks/Python.framework/Versions/3.9/bin:/Users/vanderleidebastiani/.jenv/bin:/opt/miniconda3/bin:/opt/miniconda3/condabin:/opt/local/bin:/opt/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/TeX/texbin:/opt/X11/bin:/Library/Apple/usr/bin:/Library/Frameworks/R.framework/Resources:/Library/Frameworks/R.framework/Resources  
~ R CMD  
looks ok  

在 R/RStudio 中:

> system("echo $0")
sh
> system("echo $PATH")  
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/Library/TeX/texbin:/opt/X11/bin:/Library/Apple/usr/bin:/opt/local/bin:/Applications/RStudio.app/Contents/MacOS/postback  
> system("R CMD")  
sh: R: command not found
Warning message:
In system("R CMD") : error in running command

如果我将 PATH 包含到“/Library/Frameworks/R.framework/Resources”中,我可以使用 Sys.getenv 暂时解决此问题

Sys.getenv("PATH")  
"/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/Library/TeX/texbin:/opt/X11/bin:/Library/Apple/usr/bin:/opt/local/bin:/Applications/RStudio.app/Contents/MacOS/postback" 
 
Sys.setenv(PATH="/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/Library/TeX/texbin:/opt/X11/bin:/Library/Apple/usr/bin:/opt/local/bin:/Applications/RStudio.app/Contents/MacOS/postback:/Library/Frameworks/R.framework/Resources")  

system("R CMD")  
-looks ok

我试图永久包含 PATH,所以我编辑了 .bash_profile.profile.zshrc.bashrc 在我的主文件夹中(如果是“/Users/vanderleidebastiani”)包括:

# Setting PATH for R
export PATH="$PATH:/Library/Frameworks/R.framework/Resources"

但是,它没有任何效果。重启 R 后 PATH 无法识别,它会回到初始设置。

我是否需要在另一个文件中包含 PATH 或者我在包含它的方式上犯了一些错误?

最好的,范德雷

【问题讨论】:

  • 您是否关闭并重新打开了 RStudio?另外,运行 system("R CMD") 的目的是什么? (除了证明它没有找到之外)即它会给你带来什么问题 - 是当你去构建一个包或类似的东西时?
  • @stevec 我已经关闭并重新打开了 R 和 RStudio。我的 MODIS 包有问题(我在 github.com/MatMatt/MODIS/issues/104 中打开了一个问题),我认为这些问题可能是相关的。
  • 您是否尝试重新安装 R/RStudio?
  • @steve 我来自 macOS Catalina > 更改默认 shell > 更新到 Big Sur > 完全删除 R 和 RStudio(以尝试修复 MODIS 问题)并重新安装 R e RStudio。我使用另一台带有 Big Sur 的计算机,然后在上次 MODIS 更新后 MODIS 工作正常,R CMD 也工作正常(这就是为什么我认为问题可能相关)。

标签: r bash macos shell rstudio


【解决方案1】:

要创建新路径,只需在 MACOS Big Sur 中执行此操作

  1. sudo touch ~/.zshrc
  2. sudo nano export PATH=$PATH:/YOUR PATH
  3. crtl + x 并保存
  4. source ~/.zshrc 或关闭并打开终端

使用 echo $PATH 检查

【讨论】:

    【解决方案2】:

    我遇到了同样的问题,但可以访问自制安装的二进制文件。我找到的解决方法是修改 Big Sur 中的全局 PATH 变量。

    事实证明,如果您将文本文件放入 /etc/paths.d 文件夹,即使在重新启动 RStudio 后,它也会被解析并添加到 PATH。

    我使用sudo nano /etc/paths.d/homebrew 添加了一个文本文件,并将/opt/homebrew/bin/opt/homebrew/sbin 粘贴在不同的行上。保存并关闭后,我重新启动 RStudio 并从 RStudio 的终端运行 echo $PATH 以检查路径是否已正确导入。

    参考: https://serverfault.com/questions/16355/how-do-i-set-the-global-path-environment-variable-on-os-x

    【讨论】:

      猜你喜欢
      • 2021-05-08
      • 1970-01-01
      • 2022-01-09
      • 2021-11-26
      • 2021-02-27
      • 2021-04-15
      • 2022-01-31
      • 2021-03-29
      • 2021-06-19
      相关资源
      最近更新 更多