屏幕中的 R 版本与预期不同

屏幕中的 R 版本与预期不同

在新的终端会话中调用 R 会加载 R 版本 4.0.0,但如果我进入屏幕并调用 R,则会加载版本 3.4.3。如何将屏幕中调用的 R 版本设置为始终是屏幕外调用的版本?

如果我type -a R在屏幕外部和内部执行,我会得到以下结果:

屏幕外:

kf@karl Dropbox % type -a R
R is /Library/Frameworks/R.framework/Resources/R
R is /usr/local/anaconda3/bin/R
R is /usr/local/bin/R

屏幕内部:

kf@karl Dropbox % type -a R
R is /usr/local/anaconda3/bin/R
R is /Library/Frameworks/R.framework/Resources/R
R is /usr/local/anaconda3/bin/R
R is /usr/local/bin/R

看来我需要告诉屏幕首先使用该/Library/Frameworks/R.framework/Resources/R路径。

这发生在我的 Mac OS Catalina v10.15.4 上

谢谢大家。

答案1

如果您将 $PATH 设置为与默认 PATH 不同的内容,则应在 .bash_profile 或 .bash_login 中设置(如果您使用的是 bash,看起来就是这样)。不在 .bashrc 中,当然不在 .screenrc 中,当然也不在 /etc/screenrc 中。您通常希望在登录时设置一次,它会在子 shell 中继承并处理您从哪个屏幕开始的过程。我感觉你的问题在于你多次设置 PATH 或在其他文件中设置超出你的预期。

为了更好地了解 $PATH 的设置位置,您可以尝试在各种 .bash*/.profile 文件中放入一些 echo 语句。 grep -i path .??*将帮助您找到设置 $PATH 的位置。

这些文件的读取顺序:Bash 启动文件

相关内容