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

时间:2014-10-20 16:54:35

标签: r rstudio knitr r-markdown

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

  

loadNamespace错误:没有名为' rmarkdown'

的软件包

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

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

1 个答案:

答案 0 :(得分:0)

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

loadNamespace(name): there is no package called 'rmarkdown'

Rstudio中的一切都运行正常,但当我尝试在Cygwin中自动编写一些.Rmd文件时,它们无法正常工作。

我在Rstudio中的图书馆路径:

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

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

.libPaths()
[1] "C:/Program Files/R/R-3.3.2/library"

问题:

  • 当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

现在,Cygwin报告的路径是:

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

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