【发布时间】:2017-05-31 18:16:42
【问题描述】:
我一直在使用 knitr 和 showtext 库来生成使用某些 Google 字体的 HTML 文件。在我将 R 升级到 3.4 之前,它一直运行良好。当我现在编织文档时,出现以下错误:
错误:无法加载包“sysfonts”执行停止
这可以通过编织来重现:
---
title: "test"
output: html_document
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
library(showtext)
```
没有库(showtext)它运行良好。
然后,当我尝试使用相同的模板与 library(sysfonts) 一起运行它时:
---
title: "test"
output: html_document
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
library(sysfonts)
```
我收到此错误:
错误:“sysfonts”的包或命名空间加载失败:“sysfonts”的 loadNamespace() 中的 .onLoad 失败,详细信息:调用:dyn.load(file, DLLpath = DLLpath, ...) 错误:无法加载共享对象 '~/Library/R/3.4/library/sysfonts/libs/sysfonts.so': dlopen(~/Library/R/3.4/library/sysfonts/libs/sysfonts.so, 6): 库未加载:/ opt/X11/lib/libfreetype.6.dylib 参考来自:~/Library/R/3.4/library/sysfonts/libs/sysfonts.so 原因:找不到图片
这似乎是 sysfonts 库的问题。但是,我可以从控制台很好地加载 showtext 和 sysfonts。所以我不知道这是 sysfonts 问题还是 knitr 问题。我正在运行 El Capitan 10.6,最近又将 R 升级到 3.4。我尝试降级回 3.3,但仍然产生相同的错误。
【问题讨论】:
-
您确定您只安装了一个 R 版本吗?我会尝试从您的 knitr 文档以及控制台打印
R.home(),看看您是否得到相同的结果。如果不是这样,您可以检查.libPaths()中的差异。 -
它们都是一样的。不过,我仍然有以前版本的旧库,所以我删除了它们。不幸的是,这并没有什么不同。