无法安装 rvest 包
Posted
技术标签:
【中文标题】无法安装 rvest 包【英文标题】:unable to install rvest package 【发布时间】:2015-09-09 14:41:21 【问题描述】:我需要为 R 版本 3.1.2 (2014-10-31) 安装 rvest 包
我收到以下错误:
checking whether the C++ compiler supports the long long type... no
*** stringi cannot be built. Upgrade your C++ compiler's settings
ERROR: configuration failed for package ‘stringi’
* removing ‘/usr/local/lib64/R/library/stringi’
ERROR: dependency ‘stringi’ is not available for package ‘stringr’
* removing ‘/usr/local/lib64/R/library/stringr’
ERROR: dependency ‘stringr’ is not available for package ‘httr’
* removing ‘/usr/local/lib64/R/library/httr’
ERROR: dependency ‘stringr’ is not available for package ‘selectr’
* removing ‘/usr/local/lib64/R/library/selectr’
ERROR: dependencies ‘httr’, ‘selectr’ are not available for package ‘rvest’
* removing ‘/usr/local/lib64/R/library/rvest’
关于如何安装 R 包 rvest 的任何想法?
【问题讨论】:
您是从 CRAN 安装的吗?你使用的命令是什么? install.packages("rvest") 您是否尝试更新the C++ compiler supports the long long type
?
@AaronKatch,我不知道该怎么做
由于您使用的是过时版本的 R,您需要从与旧版本匹配的包版本进行编译,并且您需要使用 R 的开发版本和支持工具因为在基本分布中有时会缺少标头。
【参考方案1】:
我的系统是带有 R:3.2.3 的 Ubuntu 14.04,我遇到了同样的问题。
然后我检查了 err meg 并尝试安装 libcurl4-openssl-dev 和 libxml2-dev 库:
sudo apt-get install libcurl4-openssl-dev
sudo apt-get install libxml2-dev
安装后install.packages("rvest")
成功。
【讨论】:
这是 rvest 不是 vrest【参考方案2】:当我尝试在全新安装的 Ubuntu 18.04 上的 Rstudio 版本 1.1.456 中安装 tidyverse, DESeq2, RUVSeq
时,我需要诸如 Rcurl, XML, rvest, xml2
之类的依赖项。无论如何,有一堆缺失的依赖项。这个答案可能更适合作为 Ubuntu 18.04 的评论,但我没有那么多声誉。因此,这里只是尝试对适用于 Ubuntu 18.04 的解决方案进行总结。
在终端中,运行:
sudo apt-get install libcurl4-openssl-dev libssl-dev
sudo apt-get install libxml2-dev
然后在Rstudio内,
install.packages("xml2")
install.packages("rvest")
install.packages("tidyverse") # might need other dependencies installed in Rstudio
得到tidyverse
!
在终端:
sudo apt-get install libmysqlclient-dev ## for RMySQL
然后在Rstudio内
source("https://bioconductor.org/biocLite.R")
biocLite("DESeq2")
biocLite('RUVSeq') ## might have messages as following
installation path not writeable, unable to update packages: cluster, foreign, MASS, Matrix, mgcv, nlme, survival
在终端中:
sudo R ## give R the root permission
## in the R session within the terminal
pks <- c('cluster', 'foreign', 'MASS', 'Matrix', 'mgcv', 'nlme', 'survival')
install.packages(pks)
q()
这是我自己的经验。希望这个有很好的通用性。
【讨论】:
【参考方案3】:我能够像这样构建 stringi 包:
install.packages('stringi', configure.args='--disable-cxx11')
【讨论】:
很好,但是使用 stringi 提交票证,因为它应该(理想情况下)在发现编译器不足时自动执行此操作。【参考方案4】:我对这个问题的回答肯定迟到了。不过,有人可能会觉得它很有用。
我遇到了同样的问题,所以我在 shell 上运行这个命令:
sudo apt-get upgrade pkg-config
它对我有用。
【讨论】:
以上是关于无法安装 rvest 包的主要内容,如果未能解决你的问题,请参考以下文章