R语言 解析(outFile)时出错:输入意外结束-软件包安装中的错误以及如何修复

46scxncf  于 2023-01-18  发布在  其他
关注(0)|答案(2)|浏览(284)

在尝试从GitHub安装我自己的软件包时,我遇到了一个其他人通知我的问题,我尝试修复也没有成功。我得出结论,软件包安装程序错误地通知了用户问题的来源,导致在工作脚本中搜索错误无果。

install_github("SimonDedman/gbm.auto", force = TRUE)

(截图,以便正确排列)

2w3rbyxf

2w3rbyxf1#

从逻辑上说,问题出在......控制台说的地方--这个文件的结尾,gbm.valuemap_oldbkup. R。但是我已经 * 搜索了 * 那个文件。没问题。恢复到历史版本(因此是oldbkup文件名),这也没问题。但是:错误不是在gbm.valuemap.R中,而是在gbm.valuemap_oldbkup. R中。区别是什么?Oldbkup现在是列表中的最后一个文件。因此,问题可能不是这个特定文件有一个未闭括号......而是在前面的任何文件中有一个未闭括号。扩展Duncan Murdoch's approach

setwd("gbm.auto/R/") # goto package root
allfiles <- list.files() # list files
for (i in allfiles) {
  print(paste0(which(allfiles %in% i), "/", length(allfiles), " : ", i)) # counter
  text <- readLines(i)
  src <- srcfile(i)
  parse(text = text, srcfile = src)
}

我发现问题实际上是在gbm. auto. R中。我搜索了那个文件,找到问题,修复它,重试安装,工作正常。我会找到在哪里提交这个bug(install_packages,R,RStudio,other)并这样做。同时,希望这能帮助其他人。

vmdwslir

vmdwslir2#

Bill Dunlap现在已经提供了一个关于R bugzilla(R的问题跟踪器)的补丁建议,如上所述:bugs.r-project.org/bugzilla/show_bug.cgi?id=17859#c4和我们(R核心)正在研究这个问题。确实,单独解析所有源文件的成本更高,尤其是对于“纯R”包(没有编译),也不做其他昂贵的事情。尽管如此,我们同意软件包开发人员应该得到一个更有用的错误在这种情况下,我们也同意R/*.R源文件在语法上应该是自包含的(例如,not 在一个文件中打开一个大括号并在下一个文件中关闭它!!)

相关问题