2016-04-22 81 views
4
我有一些麻烦更新R.这里后,在CentOS R中安装软件包

是的,当我尝试R中安装一个软件包会发生什么一个例子:麻烦:网络程序无法加载

> install.packages("ggplot2") 
Installing package into '/home/albers/R/x86_64-pc-linux-gnu-library/3.2' 
(as 'lib' is unspecified) 
--- Please select a CRAN mirror for use in this session --- 
Error in download.file(url, destfile = f, quiet = TRUE) : 
    internet routines cannot be loaded 
In addition: Warning message: 
In download.file(url, destfile = f, quiet = TRUE) : 
    unable to load shared object '/usr/local/lib64/R/modules//internet.so': 
    /usr/local/lib64/R/modules//internet.so: undefined symbol: curl_multi_wait 
HTTPS CRAN mirror 

1: 0-Cloud [https]    2: Austria [https] 
3: Chile [https]     4: China (Beijing 4) [https] 
5: Colombia (Cali) [https]  6: France (Lyon 2) [https] 
7: France (Paris 2) [https]  8: Germany (M▒nster) [https] 
9: Iceland [https]    10: Mexico (Mexico City) [https] 
11: Russia (Moscow) [https]  12: Spain (A Coru▒a) [https] 
13: Switzerland [https]   14: UK (Bristol) [https] 
15: UK (Cambridge) [https]  16: USA (CA 1) [https] 
17: USA (KS) [https]    18: USA (MI 1) [https] 
19: USA (TN) [https]    20: USA (TX) [https] 
21: USA (WA) [https]    22: (HTTP mirrors) 


Selection: 1 
Warning: unable to access index for repository https://cran.rstudio.com/src/contrib: 
    internet routines cannot be loaded 
Warning message: 
package 'ggplot2' is not available (for R version 3.2.5) 

所以我花了一些时间搜索错误消息。我更新了我现在最新版本的卷曲:

$ curl -V 
curl 7.48.0 (x86_64-pc-linux-gnu) libcurl/7.48.0 zlib/1.2.8 
Protocols: dict file ftp gopher http imap pop3 rtsp smtp telnet tftp 
Features: IPv6 Largefile libz UnixSockets 

仍然无法安装软件包,并且收到相同的错误消息。所以我尝试以下的this post的指示,具体地添加以下命令到我.bash_profile

export LD_LIBRARY_PATH=$TOOLS/curl-7.48.0/lib:$LD_LIBRARY_PATH 

我再次获得关于R无法加载共享对象相同的错误消息。最终,这是一个下载问题,因为download.file也失败了。这里是我的sessionInfo()

R version 3.2.5 (2016-04-14) 
Platform: x86_64-pc-linux-gnu (64-bit) 
Running under: CentOS release 6.2 (Final) 

locale: 
[1] LC_CTYPE=en_US.iso885915  LC_NUMERIC=C 
[3] LC_TIME=en_US.iso885915  LC_COLLATE=en_US.iso885915 
[5] LC_MONETARY=en_US.iso885915 LC_MESSAGES=en_US.iso885915 
[7] LC_PAPER=en_US.iso885915  LC_NAME=C 
[9] LC_ADDRESS=C     LC_TELEPHONE=C 
[11] LC_MEASUREMENT=en_US.iso885915 LC_IDENTIFICATION=C 

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

我能够下载与wgetcurl但只要我开始R,我无法下载任何文件。

有没有人有任何建议我可以解决这个问题?

回答

8

像这样尝试。

install.packages("ggplot2", repos="http://cran.cnr.berkeley.edu") 

或只是你安装它改变你的下载工具到别的东西,即在Linux上,你可以尝试的wget如下之前。

options(download.file.method = "wget") 

注意,我为http扔下https。我有一个类似的错误...

Selection: 1 
Warning: unable to access index for repository https://cran.rstudio.com/src/contrib: 
    unsupported URL scheme 
Warning message: 
package ‘ggplot2’ is not available (for R version 3.2.3) 

如果你看看从你的问题下面一行的输出...

Yours 
Protocols: dict file ftp gopher http imap pop3 rtsp smtp telnet tftp 
Mine (Also Centos 6) 
Protocols: tftp ftp telnet dict ldap ldaps http file https ftps scp sftp 

curl缺少https支持。在您的输出中也有关于curl_multi_wait的错误。这是在7.28.0中添加的。

https://curl.haxx.se/libcurl/c/curl_multi_wait.html

如果你需要建立本地卷曲做到这一点

mkdir -p $HOME/curl 
cd $HOME/curl 
git clone https://github.com/curl/curl.git 
cd curl 
bash buildconf 
./configure --prefix=$HOME/libcurl 
make 
make install 

此时你需要设置你的LD_LIBRARY_PATH中的.bash_profile即

export LD_LIBRARY_PATH=$HOME/libcurl/lib:$LD_LIBRARY_PATH 

然后要么注销和背部再次或

source ~/.bash_profile 
6

我相信在去年夏天进行R 3.2。*升级之前,我曾回答过类似的问题。使用Ubuntu 12.04的Travis CI有类似的问题。周围

一个相当简单的方法就是让R能够使用外部wgetcurl二进制你可能有(且必须是HTTPS就绪)下载。因此,尝试如

R> options("download.file.method"="wget") 

其中,设定时,可以让我从所需的非HTTPS主机下载你想要的包:

R> install.packages("ggplot2", repos="http://cran.cnr.berkeley.edu") 
Installing package into ‘/usr/local/lib/R/site-library’ 
(as ‘lib’ is unspecified) 
--2016-04-26 18:29:16-- http://cran.cnr.berkeley.edu/src/contrib/ggplot2_2.1.0.tar.gz 
Resolving cran.cnr.berkeley.edu (cran.cnr.berkeley.edu)... 169.229.201.201, 2607:f140:0:8000::201 
Connecting to cran.cnr.berkeley.edu (cran.cnr.berkeley.edu)|169.229.201.201|:80... connected. 
HTTP request sent, awaiting response... 200 OK 
Length: 1571788 (1.5M) [application/x-gzip] 
Saving to: ‘/tmp/RtmpwWvA3s/downloaded_packages/ggplot2_2.1.0.tar.gz’ 

/tmp/RtmpwWvA3s/downloaded_packages/ggplot2_2.1.0.ta 100%[========================================================================================================================>] 1.50M 1.32MB/s in 1.1s 

2016-04-26 18:29:17 (1.32 MB/s) - ‘/tmp/RtmpwWvA3s/downloaded_packages/ggplot2_2.1.0.tar.gz’ saved [1571788/1571788] 

* installing *source* package ‘ggplot2’ ... 
** package ‘ggplot2’ successfully unpacked and MD5 sums checked 
** R 
** data 
*** moving datasets to lazyload DB 
** inst 
** preparing package for lazy loading 
** help 
*** installing help indices 
** building package indices 
** installing vignettes 
** testing if installed package can be loaded 
* DONE (ggplot2) 

The downloaded source packages are in 
     ‘/tmp/RtmpwWvA3s/downloaded_packages’ 

您可以设置选项中~/.Rprofile或相应Rprofile.site