将rstudio :: openProject与旧版Rstudio一起使用

时间:2018-02-12 13:19:04

标签: r version rstudio

我使用Rstudio Version 0.99.903和最新版本的库rstudioapirstudioapi_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.1Rstudio 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')代码更进一步,但它仍然失败,因为我没有定义ensureScalarCharacterrs_requestOpenProject,而且我没有找到github中的那些。

0 个答案:

没有答案