我正在R中做一些工作,具体取决于软件包ldatuning
。我设置好程序包,并在本地Windows机器上运行脚本。似乎需要一段时间才能运行,因此我在云中启动了Linux VM(Ubuntu 16.06)以运行脚本。我尝试使用install.packages('ldatuning')
在R中设置环境,但是有很多错误。经过一番挖掘之后,我意识到ldatuning
所依赖的某些R软件包也依赖于Linux库。实际上,有三个不同的软件包依赖于Linux库。在每种情况下,我都必须搜索堆栈溢出,并且总是找到简短的答案,例如this one或this one。那么回答这些问题的人们又如何知道要安装哪些库呢?我知道经常有直接依赖于Linux库的R包,但是我如何才能提前知道我需要的确切Linux库呢?例如,对于R库gmp
,我的猜测是尝试sudo apt-get install gmp
,但不工作 - 这是sudo apt-get install libgmp3-dev
。我怎么能发现R包gmp
取决于libgmp3-dev
?
答案 0 :(得分:2)
不幸的是有没有对付这个伟大的,完整的,统一的方式。为此,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
和/或网站-他们经常在其中提及系统依赖项,并且经常提及可以从何处获得依赖性,但并非总是如此。对于剩余的情况下,你只需要希望成为幸运的谷歌搜索你的问题。
pdftools
pdftools
CRAN page(我通过谷歌搜索“ r pdftools”到达)显示了其DESCRIPTION中的信息,包括
系统需求: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
示例那么有用。然而,它也列出了
然后,在该页面上,我们看到
从源安装:需要MPFR和GMP库 从上面的网页,或者从Linux发行软件包系统更方便地:
Debian,Ubuntu等。 。 。 。 。 。 。 :命令和apt-get安装libmpfr-dev的
Fedora,Redhat,CentOS(开放)SuSE:sudo dnf安装mpfr-devel
这应该让你排序。