不幸的是,目前还没有一种很好的、完整的、统一的方法来处理这个问题。为此,一个很棒的项目是https://github.com/r-hub/sysreqsdb,您绝对应该查看它,并且可能会对您有所帮助。
另外,通常当你因为未满足系统依赖而安装包时出错时,部分安装输出会告诉你如何解决问题;例如,这是pdftools 安装失败的部分输出:
No package 'poppler-cpp' found
Using PKG_CFLAGS=-I/usr/include/poppler/cpp -I/usr/include/poppler
Using PKG_LIBS=-lpoppler-cpp
------------------------- ANTICONF ERROR ---------------------------
Configuration failed because poppler-cpp was not found. Try installing:
* deb: libpoppler-cpp-dev (Debian, Ubuntu, etc)
* rpm: poppler-cpp-devel (Fedora, CentOS, RHEL)
* csw: poppler_dev (Solaris)
* brew: poppler (Mac OSX)
If poppler-cpp is already installed, check that 'pkg-config' is in your
PATH and PKG_CONFIG_PATH contains a poppler-cpp.pc file. If pkg-config
is unavailable you can set INCLUDE_DIR and LIB_DIR manually via:
R CMD INSTALL --configure-vars='INCLUDE_DIR=... LIB_DIR=...'
--------------------------------------------------------------------
ERROR: configuration failed for package ‘pdftools’
* removing ‘/home/duckmayr/R/x86_64-pc-linux-gnu-library/3.5/pdftools’
但是,在某些情况下,这些方法仍无法解决您的问题。我总是会检查包的DESCRIPTION 和/或网站——他们经常在那里提到系统依赖项,也经常提到你可以从哪里获得依赖项,但并非总是如此。对于其余情况,您只需要希望幸运地在 Google 上搜索您的问题即可。
示例:pdftools
pdftools CRAN page(我通过谷歌搜索“r pdftools”找到)显示来自其说明的信息,包括
系统要求:Poppler C++ API:libpoppler-cpp-dev (deb) 或 poppler-cpp-devel (rpm)。单元测试还需要“poppler-data”包(rpm/deb)
因此,即使他们没有上述信息丰富的消息,我也可以通过这种方式找到它。
示例:ldatuning
如果您查看ldatuning CRAN page,您将看不到这样的条目。那是因为它没有任何系统依赖项——它的 R 包依赖项有。在这种情况下,您会查看哪个软件包安装失败(通过查看install.packages("ldatuning") 之后的输出来查看(听起来就像您的情况一样),Rmpfr 的安装失败。
所以,直接前往Rmpfr CRAN page 看看
系统要求:gmp (>= 4.2.3)、mpfr (>= 3.0.0)
这更有帮助,但不如pdftools 示例那么有用。但是,它也列出了
网址:http://rmpfr.r-forge.r-project.org/
然后,在那个页面上,我们看到
从源安装:需要 MPFR 和 GMP 库
来自上述网页,或者更方便地来自您的 Linux 分发包系统:
Debian、Ubuntu 等。 . . . . . . .: sudo apt-get install libmpfr-dev
Fedora, Redhat, CentOS, (open)SuSE: sudo dnf install mpfr-devel
这应该让你排序。