我写这篇文章是因为我花了好几天才得出这个结果。
结论:stringi库版本1。1。3(2017年3月发布)可能存在涉及icudt的问题。您可以使用以下命令安装stringi 1.1.2:
packageurl <- "https://cran.r-project.org/src/contrib/Archive/stringi/stringi_1.1.2.tar.gz"
install.packages(packageurl, repos=NULL, type="source")
我把它放在how to install an older package上的一些RStudio文档中。
背景:
我试图在R中安装预测库。最初,我使用的是R 3.1.2。我还安装了R 3.3.3并尝试安装stringi。我正在运行CentOS 6.7并且没有选择升级。
由于安装stringi时出现问题,预测无法安装。由于下载ICU数据库(icudt)时出错,stringi库无法安装 看起来stringi 1.1.3添加了关于icudt的下载/构建逻辑,即将发布的1.1.4版本对此逻辑进行了更正(截止日期为2017-04-02)。
我去了ICU项目网站:并下载/安装了似乎在下面的错误消息中指定的ICU库:
checking whether we may compile src/icu55/common/umapfile.c... yes
checking whether we may compile src/icu55/common/putil.cpp... yes
checking whether we can fetch icudt... WARNING: ignoring environment value of R_HOME
downloading ICU data library (icudt)
output path: icu55/data/icudt55l.zip
Error in stri_download_icudt("icu55/data") :
could not find function "dir.exists"
Calls: identical -> stri_download_icudt
Execution halted
*** icudt could not be downloaded. stopping.
ERROR: configuration failed for package ‘stringi’
在线搜索icu55,icudt55l.zip,或者为了解决这个错误而遵循的任何程序都没有找到有效的程序。我下载,构建并安装了ICU 55.1以及ICU 58.2。我还更新了gcc和g ++。当我有一个正常工作的互联网连接时,stringi 1.1.3的CRAN存储库安装说明目前没有提供一套简单的指令来成功安装stringi。
我开始问这是一个问题,然后找到了答案。无论如何我会发布它。我添加了几个链接,但需要删除它们,因为我没有足够的信誉可以逃脱它们。
答案 0 :(得分:3)
这与ICU无关。这是stringi中的一个错误,我已经在1.1.5版本中修复了(现在在CRAN上)。 dir.exists()
函数特定于R≥3.2.0 - 我没有意识到这一点。很抱歉给您带来不便。
答案 1 :(得分:1)
stringi库版本1。1。3(2017年3月发布)可能存在涉及icudt的问题。您可以使用以下命令安装stringi 1.1.2:
packageurl <- "https://cran.r-project.org/src/contrib/Archive/stringi/stringi_1.1.2.tar.gz"
install.packages(packageurl, repos=NULL, type="source")