macOSBigSur下到R的ShellPATH
我在 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以包含:
# Setting PATH for R
export PATH="$PATH:/Library/Frameworks/R.framework/Resources"
但是,它没有任何效果。重新启动 R 后,PATH 无法识别,它会返回到初始设置。
我是否需要在另一个文件中包含 PATH 或者我在包含它的方式上犯了一些错误?
最好的,范德雷
回答
要创建新路径,只需在 MACOS Big Sur 中执行此操作
- 须藤触摸〜/ .zshrc
- sudo nano export PATH=$PATH:/你的路径
- crtl + x 并保存
- source ~/.zshrc 或关闭并打开终端
检查 echo $PATH