在新的终端会话中调用 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 启动文件