我有一个 RMD 文件。我可以用 RStudio 界面的 knitr 编织它。但是当我尝试在控制台中运行一个单独的块时,我得到了错误:
Error in library(bla) : there is no package called bla
bla我的自制包裹在哪里。我还没有安装bla到我当前的项目中。我已经初始化了 packrat,并且bla没有出现在 packrat 目录中。所以这两种方式都不应该起作用。
电话.libPaths()告诉我
> .libPaths()
[1] "/home/user/projdir/packrat/lib/x86_64-pc-linux-gnu/3.4.0"
[2] "/home/user/projdir/packrat/lib-ext/x86_64-pc-linux-gnu/3.4.0"
[3] "/home/user/projdir/packrat/lib-R/x86_64-pc-linux-gnu/3.4.0"
我已经.libPaths()在我的文档中添加了调用并得到了:
[1] "/home/user/Documents/projdir/packrat/lib/x86_64-pc-linux-gnu/3.4.0"
[2] "/home/user/Documents/projdir/packrat/lib-ext/x86_64-pc-linux-gnu/3.4.0"
[3] "/home/user/Documents/projdir/packrat/lib-R/x86_64-pc-linux-gnu/3.4.0"
[4] "/home/user/R/x86_64-pc-linux-gnu-library/3.4"
[5] "/usr/local/lib/R/site-library"
[6] "/usr/lib/R/site-library"
[7] "/usr/lib/R/library"
为什么路径不同?以及如何强制 knitr 仅使用来自 Packrat 的包?