0

我正在处理这段代码,当我尝试在我的一台计算机上编写 analyses.Rmd 时,由于尝试加载 kableExtra 而出现错误:

错误:dyn.load(文件,DLLpath = DLLpath,...)中“kableExtra”的包或命名空间加载失败:无法加载共享对象“/Users/acristia/Library/Application Support/renv/cache/v5/R -4.1/x86_64-apple-darwin17.0/systemfonts/1.0.3/5be9fcf8ef6763e8cb13ab009e273a1d/systemfonts/libs/systemfonts.so':dlopen(/Users/acristia/Library/Application Support/renv/cache/v5/R-4.1/ x86_64-apple-darwin17.0/systemfonts/1.0.3/5be9fcf8ef6763e8cb13ab009e273a1d/systemfonts/libs/systemfonts.so, 0x0006):库未加载:/usr/local/opt/freetype/lib/libfreetype.6.dylib 引用自: /Users/acristia/Library/Application Support/renv/cache/v5/R-4.1/x86_64-apple-darwin17.0/systemfonts/1.0.3/5be9fcf8ef6763e8cb13ab009e273a1d/systemfonts/libs/systemfonts.so 原因:试过:'/usr /local/opt/freetype/lib/libfreetype.6.dylib'(没有这样的文件),'/Library/Frameworks/R.framework/Resources/lib/libfreetype.6.dylib'(没有这样的文件),'/Users/acristia/lib/libfreetype.6.dylib'(没有这样的文件),'/usr/local /lib/lib

我已经检查过:

  • 我有最新版本的 R 和 Rstudio
  • 我有最新版本的 freetype(也运行 brew doctor 并修复了那里的所有警告)

由于 brew 没有在 kableExtra 期望的地方安装 libfreetype,所以我做了sudo mkdir -p /usr/local/opt/freetype/lib/并且sudo ln -s /opt/homebrew/lib/libfreetype.6.dylib /usr/local/opt/freetype/lib/libfreetype.6.dylib MacBook-Air:weirdChildes acristia$ ls /usr/local/opt/freetype/lib/libfreetype.6.dylib

有了这个,我将错误从未加载因为它不存在更改为由于错误的架构而未加载:

试过:'/usr/local/opt/freetype/lib/libfreetype.6.dylib'(mach-o 文件,但架构不兼容(有'arm64',需要'x86_64')),

(我还看到了一个建议brew install freetype --universal但该命令未被识别。

对于上下文:我将我的mac帐户迁移到了一台新的笔记本电脑,即intel / monterey,这可能意味着一些基本文件不正确。

或者,错误的出现可能是因为 kableExtra 的制造商需要考虑这种新架构。我确实在 kableExtra github 中发现了两个 提到 libfreetype 的未解决问题(一个说问题已通过最新的 R 版本解决,这不是我的情况)。

有关我的系统的完整信息,请参阅 renv-diagnostics.txt

4

1 回答 1

0

您已从旧的 Apple Silicon 自制程序目录中链接了 freetype 的副本,该目录是/opt/homebrew/lib

对于 Intel mac,homebrew 安装 freetype 包的目录是/usr/local/lib

Intel mac 使用该架构x86_64

Apple Silicon (M1) 使用该arm64架构。

于 2022-01-12T11:19:07.760 回答