我是靠谱客的博主 现代蜜粉,最近开发中收集的这篇文章主要介绍document error: cannot open the connection,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

  • Att: R 包开发中遇到的坑。
  • Date: 2018-12-06

错误描述

最近在为公司开发一个R的工具包,在新增了一些功能之后,使用devtools::document()生成.Rd文件时报错,如下,从错误信息上看感觉是权限问题。

> devtools::document()
Updating pkt documentation
Writing NAMESPACE
Loading pkt
Error in file(con, "r") : cannot open the connection
In addition: Warning message:
In file(con, "r") :
  cannot open file 'E:r-windowsstage_2pkt': Permission denied

解决过程

1 权限

由于从错误上看似乎是文件夹写入权限问题,于是各种折腾,并不能解决问题。

2 stack overflow

通过搜索错误信息,得到stack overflow上的相似错误:
https://github.com/klutometis/roxygen/issues/766
大致原因是roxygen2的bug, 按照解决方案:

devtools::install_github("gustavdelius/roxygen")

并不能解决问题。尝试反复卸载安装roxygen2的各种版本,不能解决问题。

3 手动排查

新建一个包工程,逐步将原有工程中的脚本移进来,终于定位错误源头:

#' Create yik
#'
#' @example
#'
#' @family report
yik <- function(){

}

@example块后漏加了示例对应的代码,将这行去掉,问题解决:

> devtools::document()
Updating pkt documentation
Loading pkt
Writing NAMESPACE
Writing yik.Rd

总结

roxygen2的错误信息实在是太隐晦。

最后

以上就是现代蜜粉为你收集整理的document error: cannot open the connection的全部内容,希望文章能够帮你解决document error: cannot open the connection所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(33)

评论列表共有 0 条评论

立即
投稿
返回
顶部