我使用Rstudio Version 0.99.903
和最新版本的库rstudioapi
(rstudioapi_0.7
)。
尝试rstudioapi::openProject('MyProject')
时,我得到了:
错误:在RStudio中找不到函数openProject
以下是rstudioapi
函数的代码:
rstudioapi::openProject
function (path = NULL, newSession = FALSE)
{
callFun("openProject", path, newSession)
}
<environment: namespace:rstudioapi>
问题很可能是我的Rstudio
版本不是最新的。
遗憾的是,我无法下载Rstudio
的更高版本(我在工作时受到授权软件的限制),是否可以单独下载该功能并使其正常工作无论如何?
开放项目的功能显然已经存在于Rstudio中,因此我认为这可能是一个非常简单的修复,不需要更新完整的软件。
我使用R version 3.3.1
和Rstudio Version 0.99.903
通过代码挖掘,我正在寻找的功能似乎是.rs.api.openProject
。
浏览我在https://github.com/rstudio/rstudio/blob/master/src/cpp/r/R/Api.R中找到的rstudio源代码:
.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)")
)
})
我执行了完整的文件以更新所有功能(可能不是最安全的决定,但作为第一次迭代)。
在此之后,我可以使用我的rstudioapi::openProject('MyProject')
代码更进一步,但它仍然失败,因为我没有定义ensureScalarCharacter
或rs_requestOpenProject
,而且我没有找到github
中的那些。