我是R的新手,我自己在Ubuntu 14.04.3(x64)上编译了它。请注意,我与R源代码保持同步:
blong@work:~/Documents/Work/REPOS__svn/R/R-3-2-branch$ svn info |head -n 7
Path: .
Working Copy Root Path: /home/blong/Documents/Work/REPOS__svn/R/R-3-2-branch
URL: https://svn.r-project.org/R/branches/R-3-2-branch
Relative URL: ^/branches/R-3-2-branch
Repository Root: https://svn.r-project.org/R
Repository UUID: 00db46b3-68df-0310-9c12-caf00c1e9a41
Revision: 69384
blong@work:~/Documents/Work/REPOS__svn/R/R-3-2-branch$ svn status -u
Status against revision: 69392
在R的3.2.2分支中运行configure
和make
已成功完成,我可以在R会话中使用各种包。但是,我想检查一下我的所有库都是最新的。在R 3.2.2中,我正在调用update.packages()
。调用该函数时,系统会提示我选择一个CRAN镜像:
假设一切正常并且这不是问题,我从对话框中选择主(“O-Cloud [https]
”)镜像。对话框关闭,我返回到我的R提示符,上面写着“unsupported URL scheme
”的重复消息。
同时,我在调用update.packages()
:
> getOption("repos")
CRAN
"@CRAN@"
> update.packages()
--- Please select a CRAN mirror for use in this session ---
Error in download.file(url, destfile = f, quiet = TRUE) :
unsupported URL scheme
Warning: unable to access index for repository https://cran.rstudio.com/src/contrib:
unsupported URL scheme
>
考虑到这可能是HTTPS的一个问题,我尝试了一个非SSL镜像,同样没有任何反应(也许没有更新,但我想要一条消息告诉我这一点)。但是,这次在对话框关闭后,我没有收到第二个“不支持的URL方案”消息:
> update.packages()
--- Please select a CRAN mirror for use in this session ---
Error in download.file(url, destfile = f, quiet = TRUE) :
unsupported URL scheme
>
似乎在引擎盖下,R使用一个名为RCurl的库来完成它的一些HTTP / S交互。据我所知,我使用的是受支持的curl / libcurl版本:
blong@work:~$ curl --version
curl 7.35.0 (x86_64-pc-linux-gnu) libcurl/7.35.0 OpenSSL/1.0.1f zlib/1.2.8 libidn/1.28 librtmp/2.3
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp smtp smtps telnet tftp
Features: AsynchDNS GSS-Negotiate IDN IPv6 Largefile NTLM NTLM_WB SSL libz TLS-SRP
对此有何想法?它似乎与mailing list discussion类似,但我不确定这是一个问题还是我做错了。
答案 0 :(得分:3)
我不觉得傻。我不是来自非常强大的C / C ++背景。所以make
除了跟踪指南等外,并不是真的在我的驾驶室里。
我和同事一起看了这个,我们讨论了在机器上配置R的步骤。实际上,我做到了这一点:
svn checkout https://svn.r-project.org/R/branches/R-3-2-branch ~/R-3-2-branch
mkdir ~/R-3-2-branch.build
cd ~/R-3-2-branch.build
../R-3-2-branch/configure # Returns successfully
make
一切都准备好吧? :)我一定是,因为我可以使用~/R-3-2-branch.build/bin/R
并且R会话中的所有内容(除了提示此问题的上述错误)似乎工作得很好。我安装了各种东西,包括CRAN,Bioconductor和GitHub;所以很明显这个问题必须是别的。
哦,而且,我非常确定所有依赖项都是正确可用的(就平台依赖性而言),因为我这样做了:
blong@work:~$ sudo apt-get build-dep r-base
嗯,是的,这是别的!我忘记了 sudo make install
!
我承认,我不完全确定我执行了哪个订单configure
,apt-get build-dep r-base
和make
。但是,忘记sudo make install
似乎是罪魁祸首
这一次,我做了完整的序列:
blong@work:~$ cd ~/R-3-2-branch.build
blong@work:~$ ../R-3-2-branch/configure
blong@work:~$ make
blong@work:~$ sudo make install
一切似乎都在R里快乐地运行:
> update.packages()
--- Please select a CRAN mirror for use in this session ---
>
(出现提示时,我选择了O-Cloud [https]
镜像)
谢谢大家的帮助!