更新到 R3.2.1 后包 'stringi' 不起作用

package 'stringi' does not work after updating to R3.2.1

看到一个version of this question的贴子,还是没看到答案。我正在尝试使用 ggplot2 但出现以下错误(今天早上使用 R3.0.2 'frisbee sailing' 和 RStudio 版本 0.98.1102 一切正常。

我更新了 R 和 Rstudio,现在得到以下内容:

library(ggplot)
Error in loadNamespace(i, c(lib.loc, .libPaths()), versionCheck = vI[[i]]) : 
           there is no package called ‘stringi’
            Error: package or namespace load failed for ‘ggplot2’

所以我自然而然地尝试了:

> install.packages('stringi')

**There is a binary version available but the source version is later:
    binary source needs_compilation
 stringi  0.4-1  0.5-2             FALSE**

 installing the source package ‘stringi’

trying URL 'http://cran.rstudio.com/src/contrib/stringi_0.5-2.tar.gz'
Content type 'application/x-gzip' length 3641292 bytes (3.5 MB)
==================================================
downloaded 3.5 MB

* installing *source* package ‘stringi’ ...
** package ‘stringi’ successfully unpacked and MD5 sums checked
checking for local ICUDT_DIR... icu55/data
checking for R_HOME... /Library/Frameworks/R.framework/Resources
checking for R... /Library/Frameworks/R.framework/Resources/bin/R
checking for R >= 3.1.0... yes
checking for cat... /bin/cat
/Library/Frameworks/R.framework/Resources/bin/config: line 150: make: 

command not found

/Library/Frameworks/R.framework/Resources/bin/config: line 151: make: command not found
/Library/Frameworks/R.framework/Resources/bin/config: line 152: make: command not found
/Library/Frameworks/R.framework/Resources/bin/config: line 153: make: command not found
/Library/Frameworks/R.framework/Resources/bin/config: line 269: make: command not found
/Library/Frameworks/R.framework/Resources/bin/config: line 150: make: command not found
/Library/Frameworks/R.framework/Resources/bin/config: line 151: make: command not found
/Library/Frameworks/R.framework/Resources/bin/config: line 152: make: command not found
/Library/Frameworks/R.framework/Resources/bin/config: line 153: make: command not found
/Library/Frameworks/R.framework/Resources/bin/config: line 269: make: command not found
/Library/Frameworks/R.framework/Resources/bin/config: line 150: make: command not found
/Library/Frameworks/R.framework/Resources/bin/config: line 151: make: command not found
/Library/Frameworks/R.framework/Resources/bin/config: line 152: make: command not found
/Library/Frameworks/R.framework/Resources/bin/config: line 153: make: command not found
/Library/Frameworks/R.framework/Resources/bin/config: line 269: make: command not found
/Library/Frameworks/R.framework/Resources/bin/config: line 150: make: command not found
/Library/Frameworks/R.framework/Resources/bin/config: line 151: make: command not found
/Library/Frameworks/R.framework/Resources/bin/config: line 152: make: command not found
/Library/Frameworks/R.framework/Resources/bin/config: line 153: make: command not found
/Library/Frameworks/R.framework/Resources/bin/config: line 269: make: command not found
/Library/Frameworks/R.framework/Resources/bin/config: line 150: make: command not found
/Library/Frameworks/R.framework/Resources/bin/config: line 151: make: command not found
/Library/Frameworks/R.framework/Resources/bin/config: line 152: make: command not found
/Library/Frameworks/R.framework/Resources/bin/config: line 153: make: command not found
/Library/Frameworks/R.framework/Resources/bin/config: line 269: make: command not found
/Library/Frameworks/R.framework/Resources/bin/config: line 150: make: command not found
/Library/Frameworks/R.framework/Resources/bin/config: line 151: make: command not found
/Library/Frameworks/R.framework/Resources/bin/config: line 152: make: command not found
/Library/Frameworks/R.framework/Resources/bin/config: line 153: make: command not found
/Library/Frameworks/R.framework/Resources/bin/config: line 269: make: command not found
/Library/Frameworks/R.framework/Resources/bin/config: line 150: make: command not found
/Library/Frameworks/R.framework/Resources/bin/config: line 151: make: command not found
/Library/Frameworks/R.framework/Resources/bin/config: line 152: make: command not found
/Library/Frameworks/R.framework/Resources/bin/config: line 153: make: command not found
/Library/Frameworks/R.framework/Resources/bin/config: line 269: make: command not found
/Library/Frameworks/R.framework/Resources/bin/config: line 150: make: command not found
/Library/Frameworks/R.framework/Resources/bin/config: line 151: make: command not found
/Library/Frameworks/R.framework/Resources/bin/config: line 152: make: command not found
/Library/Frameworks/R.framework/Resources/bin/config: line 153: make: command not found
/Library/Frameworks/R.framework/Resources/bin/config: line 269: make: command not found
checking for gcc... no
checking for cc... no
checking for cl.exe... no
configure: error: in `/private/var/folders/bq/3jbmwwh553s395pjg1m9h7fr0000gn/T/Rtmpugc1jZ/R.INSTALLc4677f69ffba/stringi':
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details
ERROR: configuration failed for package ‘stringi’
* removing ‘/Library/Frameworks/R.framework/Versions/3.2/Resources/library/stringi’
Warning in install.packages :
  installation of package ‘stringi’ had non-zero exit status

    The downloaded source packages are in
        ‘/private/var/folders/bq/3jbmwwh553s395pjg1m9h7fr0000gn/T/RtmpXvl7fe/downloaded_packages’

关于如何安装 'stringi' 有什么建议吗?我不太熟悉错误输出。我应该尝试回到旧版本的 R 和 Rstudio 吗?最终我担心这将是现在无法使用更新的 R

的软件包的冰山一角

哦还有:

 > sessionInfo()
R version 3.2.1 (2015-06-18)
Platform: x86_64-apple-darwin10.8.0 (64-bit)
Running under: OS X 10.7.5 (Lion)

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

loaded via a namespace (and not attached):
[1] plyr_1.8.3   tools_3.2.1  gtable_0.1.2 Rcpp_0.11.6  grid_3.2.1  digest_0.6.8 proto_0.3-10

您需要按照此处的说明为 Xcode 安装命令行工具:

https://support.rstudio.com/hc/en-us/articles/200486498-Package-Development-Prerequisites

您是 install.packages.check.source 选项的受害者,如果源比二进制更新,这些选项会导致 R 尝试从源安装包。包更新时会发生这种情况(二进制文件在源代码后显示 <72)。 stringi 就是这种情况(查看您收到的消息:here is a binary version available but the source version is later)。

我设置

options(install.packages.check.source = "no")

在我的 .Rprofile 文件中,不用担心 install.packages。我需要做的就是等待编译二进制文件。

我遇到了同样的问题。 Marek 上面的评论,install.packages 正在寻找源代码而不是二进制文件,因为它较新,这对我来说也是正确的。但由于某些原因,他使用 "options" 行的建议对我不起作用。然而,这确实有效:

install.packages("stringi",type="mac.binary")

这比尝试通过Xcode安装编译器来处理源码包要容易得多。

在 windows 8 运行 R 作为管理员解决了我的问题。

我尝试了 install.packages("stringi"),但它导致我的 R Studio 无法识别我安装的软件包。

我通过运行这个命令解决了它。希望对您有所帮助:

install.packages("stringi", repos="http://cran.rstudio.com/", dependencies=TRUE)

虽然 运行 Rstudio 中的命令,当弹出消息“你想从源安装需要编译的包”时,我点击了 "No" 并且成功了!我最初选择 "Yes"。但这对我不起作用。然后我看了一个post here 找出应该选什么。选择 "No" 后它起作用了...