终端中使用Rscript出现“Error: RStudio not running”错误

4

我一直使用预装了R的Rstudio,像往常一样。几天前,我决定尽可能在终端/CLI中运行所有东西,因为一些GUI / IDE一遍又一遍地崩溃,而在vim中完成我的工作似乎已经足够了。我搜索并尝试运行一个以前在Rstudio中运行的R脚本,现在使用Rscript运行。我还将R和Rscript添加到了PATH中,对该文件运行了chmod +x,向R文件添加了shebang,但我得到的消息是这样的:

Error: RStudio not running
Execution halted

那么,我做错了什么?为什么似乎Rstudio试图运行这个脚本,而我甚至还没有在命令行中尝试使用它?我已经删除了几乎所有的代码,只剩下一行调用另一个R脚本的代码,该脚本会清除环境:
#!/usr/bin/Rscript

# Clears everything
source("cleanAll.R")

cleanAll.R 代码:

rm(list = ls())     # Clears global environment
cat("\014")         # Clears the console
setwd(dirname(rstudioapi::getActiveDocumentContext()$path))
graphics.off()

似乎您正在尝试在rscript中运行一个必须在RStudio内调用的函数。这个脚本是做什么的? - Colin FAY
不是一个函数,而是在同一目录下的另一个文件。这是Rstudio在调用什么吗?没有运行Rstudio就无法使用source命令吗?我已经将脚本代码添加到问题中了。 - user260876
2个回答

8

您正在尝试使用 {rstudioapi} 包。

除非您处于交互式 RStudio 会话中,否则无法使用此包。因此会出现错误 Error: RStudio not running

您是否正在尝试获取工作目录?如果是这种情况,应使用 getwd()


3

在.R文件中删除setwd()命令并运行,它将完美地工作。


1
这并没有提供问题的答案。如果要批评或请求作者澄清,请在他们的帖子下留言。-【来自审查】 - Enea Dume
嗨 @EneaDume,我澄清了作者的回答,因为在他的代码中使用了一个命令叫做setwd()。如果他删除这个命令,代码就可以正常工作,而不会出现“Error: RStudio未运行”的错误。谢谢。 - Sunku Vamsi Tharun Kumar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接