I use Rstudio Version 0.99.903
and the latest version of library rstudioapi
(rstudioapi_0.7
).
When trying rstudioapi::openProject('MyProject')
I get:
Error: Function openProject not found in RStudio
Here is the code of the rstudioapi
function:
rstudioapi::openProject
function (path = NULL, newSession = FALSE)
{
callFun("openProject", path, newSession)
}
<environment: namespace:rstudioapi>
The issue is most probably that my version of Rstudio
is not up to date.
Unfortunately I'm not able to download a later version of Rstudio
(I'm restricted on authorized softwares at work), could there be a hack to download the function separately and make it work anyway ?
The functionality of opening a project is already there in Rstudio obviously, so I believe it might be a very simple fix that wouldn't require updating the full software.
I use R version 3.3.1
and Rstudio Version 0.99.903
Digging through the code it seems that the function I'm looking for is .rs.api.openProject
.
By browsing through rstudio's source code I found in https://github.com/rstudio/rstudio/blob/master/src/cpp/r/R/Api.R :
.rs.addApiFunction("openProject", function(path = NULL,
newSession = FALSE)
{
# default to current project directory (note that this can be
# NULL if the user is not within an RStudio project)
if (is.null(path))
path <- .rs.getProjectDirectory()
path <- .rs.ensureScalarCharacter(path)
# attempt to initialize project if necessary
rProjFile <- .rs.api.initializeProject(path)
# request that we open this project
invisible(
.Call("rs_requestOpenProject",
rProjFile,
newSession,
PACKAGE = "(embedding)")
)
})
I executed the full file to get all functions updated (probably not the safest decision but as a first iteration).
After this I can move a step further with my rstudioapi::openProject('MyProject')
code, but it still fails because I don't have ensureScalarCharacter
nor rs_requestOpenProject
defined and I don't find those in github
.
Unfortunately, what you're trying to do is just not possible with your older version of RStudio. rs_requestOpenProject
just doesn't exist in your version of the IDE, and as it's native code there's no way to patch it in (that would be any more palatable to your organization than just updating the IDE).