我在R中做了一些工作,这取决于包ldatuning。我设置了包并在本地windows机器上运行了一个脚本。看起来运行起来需要一段时间,所以我在云中构建了一个Linux (Ubuntu16.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
发布于 2019-02-02 01:47:19
不幸的是,目前还没有一个很好的、完整的和统一的方法来处理这个问题。实现这一目标的一个伟大项目是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
CRAN page (我通过谷歌搜索“reached”)显示了其描述中的信息,包括
SystemRequirements: Poppler :libpoppler (deb)或poppler (rpm)。单元测试还需要“poppler”包(rpm/deb)。
所以,即使他们上面没有这条信息,我也可以找到它。
示例:ldatuning
如果您查看 CRAN page,您将不会看到这样的条目。这是因为它没有任何系统依赖关系--它的R包依赖项。在这种情况下,您将看到哪个包安装失败(通过查看install.packages("ldatuning")后的输出来查看它(听起来就像在您的例子中发生的那样),Rmpfr的安装失败了。
所以,直接到 CRAN page去看看
SystemRequirements: 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,红帽,CentOS,(打开)SuSE: sudo安装mpfr-devel
这应该能帮你解决问题。
https://stackoverflow.com/questions/54489103
复制相似问题