我正在尝试从终端执行 Rscript,但只能通过添加命令才能使它们工作sudo
。运行 --verbose,我能够将问题缩小到用于执行命令的默认路径的差异:
username@user1: sudo Rscript --verbose -e 2+2
running
'/usr/lib/R/bin/R --no-echo --no-restore -e 2+2'
[1] 4
这是预期的输出。
这里,没有 sudo,调用 Rscript 时目录会发生变化:
username@user1:~$ Rscript --verbose -e 2+2
running
'/opt/rstudio/latest/bin/R --no-echo --no-restore -e 2+2'
Rscript execution error: No such file or directory
当我第一次切换到 Linux 时,我确实在该目录中安装了 rstudio 的一个实例,所以我相信问题在于我在某处更改了默认 PATH。我只是不知道在哪里或如何找到它。典型的从失败中学习的时刻。
尝试修复:我已完全卸载 R 和 RStudio,以及 RStudio 首选项文件(位于~/.local/share/rstudio
)。重新启动系统。仅重新安装了 R,问题仍然存在。
根据评论进行编辑:
type Rscript
Rscript 是 /usr/bin/Rscript
echo $PATH
在 /opt/rstudio/latest/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin
ls -l /opt/rstudio/latest/bin/R
ls:无法访问'/opt/rstudio/latest/bin/R':没有该文件或目录
嗯,这很有帮助!所以我只需要删除我添加到路径中的这些多余的废话。