Rstudio中的Rstudio knit pdf loadNamespace(name):没有名为'rmarkdown'的包

Jef*_*ake 6 r rstudio knitr r-markdown

我刚刚更新到Rstudio版本0.98.1074.当我尝试使用带脚本的编译笔记本或使用带有.rmd的Knit pdf时,我得到了

loadNamespace错误:没有名为'rmarkdown'的包

但我可以输入rmarkdown::render("filename.rmd"),它将呈现文档.我删除rmarkdown并重新安装,RStudio它没有帮助.我已经更新了所有的包,我正在使用R3.1.1.

这是一个小小的不便,因为我有一个解决方法,但我想发布,以防有​​一个我找不到的解决方案.

Con*_*ngo 0

当我尝试在 Windows 上的 Cygwin 中使用 Rmarkdown 时,我收到了几乎完全相同的错误:

loadNamespace(name): there is no package called 'rmarkdown'
Run Code Online (Sandbox Code Playgroud)

在 Rstudio 中一切工作正常,但当我尝试在 Cygwin 中自动编织一些文件时却不起作用.Rmd

我在 Rstudio 中的库路径:

.libPaths()
[1] "C:/Users/Gravitas/Documents/R/win-library/3.3" "C:/Program Files/R/R-3.3.2/library"
Run Code Online (Sandbox Code Playgroud)

运行时,Cygwin 中报告的我的库路径C:\Program Files\R\R-3.3.2\bin\R.exe

.libPaths()
[1] "C:/Program Files/R/R-3.3.2/library"
Run Code Online (Sandbox Code Playgroud)

问题:

  • 当 Rstudio 在非管理员模式下运行时,它无法写入任何内容C:/Program Files/R/R-3.3.2/library,因为该目录是写保护的。
  • 因此,Rstudio 将新包写入可自由写入的用户配置文件目录中。
  • 但是,Cygwin 不知道用户的配置文件目录,因此它无法找到所有新安装的软件包。

解决方案是在 Cygwin 中设置此环境变量:

export R_LIB=C:/Users/Gravitas/Documents/R/win-library/3.3
Run Code Online (Sandbox Code Playgroud)

现在,Cygwin 报告的路径是:

.libPaths()
[1] "C:/Users/Gravitas/Documents/R/win-library/3.3" "C:/Program Files/R/R-3.3.2/library"
Run Code Online (Sandbox Code Playgroud)

现在,我可以在 Cygwin 中调用 bash 脚本来自动编织.Rmd files