如何诊断“无法创建套接字”?

Joh*_*ith 5 r rstudio

当我在帮助搜索框中输入字符串时,RStudio 突然给了我这个错误:

starting httpd help server ...Error in tools::startDynamicHelp() : unable to create socket
Run Code Online (Sandbox Code Playgroud)

当我在控制台上输入以下内容时,我得到了同样的错误:

> ?grep
Run Code Online (Sandbox Code Playgroud)

我已经更新到 RStudio 的当前版本并且正在运行 R 的当前版本。我在 R 本身中尝试了相同的命令,没有问题。

也许巧合的是,当我尝试让 RStudio 更新软件包时,我收到以下消息:

Warning: unable to access index for repository http://cran.rstudio.com/bin/windows/contrib/3.1
Warning: unable to access index for repository http://www.stats.ox.ac.uk/pub/RWin/bin/windows/contrib/3.1
Run Code Online (Sandbox Code Playgroud)

以下是 RStudio 在诊断报告文件中提供的内容:

2014 年 7 月 19 日 17:13:51 [rsession-John Smith] 错误 r 错误 4(R 代码执行错误)[errormsg=工具中的错误::startDynamicHelp():无法创建套接字|||];发生在:核心::错误 r::exec::::evaluateExpressionsUnsafe(SEXPREC*, SEXPREC*, SEXPREC**, r::sexp::Protect*) C:\Users\Administrator\rstudio\src\cpp\r \RExec.cpp:145; 记录自:core::Error session::modules::help::initialize() C:\Users\Administrator\rstudio\src\cpp\session\modules\SessionHelp.cpp:894

我已经卸载了R 和 RStudio,然后重新安装了问题并没有消失。现在,当我启动 RStudio 时,我得到:

Error in tools::startDynamicHelp() : unable to create socket
Run Code Online (Sandbox Code Playgroud)

Joh*_*ith 5

嗯,一个答案是尝试任何事情——即使是看起来很遥远的事情。事实证明,这个神秘且非常恼人的错误只发生在 64 位版本的 R 中(在 RStudio 中),而不是 32 位版本!以下是解决问题的方法: 选择 32 位版本的 R

选择32位版本即可解决! RStudio 太棒了,它的帮助系统不工作真是太可惜了!

  • 我已经切换到 Mac,但据我所知,出现问题是因为我(不恰当地)安装了 * 32 位和 64 位版本。这导致了各种复杂情况,例如 Java 版本和此处描述的问题。当我完全消除 32 位版本的任何痕迹时,问题就解决了。 (2认同)