rbundler构建错误:“无法打开文件'startup.Rs':没有这样的文件或目录”

时间:2012-09-13 16:24:06

标签: r dependencies package devtools

构建以下包时遇到问题:https://github.com/yoni/rbundler

我的test尝试在具有单一依赖关系的普通包上运行rbundler的bundle命令。测试在我的OSX机器上传递,但在我的x86_64-redhat-linux-gnu Jenkins服务器上失败了。两台计算机都运行R 2.15.1,devtools 0.7.1,其中包括this bug fix

完整的测试输出可在this gist中找到。

以下是我看到的错误摘要:

Error in file(filename, "r", encoding = encoding) : 
  cannot open the connection
Calls: local ... eval.parent -> eval -> eval -> eval -> eval -> source -> file
In addition: Warning message:
In file(filename, "r", encoding = encoding) :
  cannot open file 'startup.Rs': No such file or directory
Execution halted

这样做的背景是我正在尝试为R构建一个依赖管理系统。这个想法是R项目应该能够在不使用系统范围或用户范围的库的情况下运行。相反,R项目将在它的根目录下安装它自己的库。

对于我之前与R中的依赖关系管理相关的Stack Overflow问题,请参阅Dependency management in R

2 个答案:

答案 0 :(得分:5)

在我的情况下,此问题是由设置为R_TESTS

的环境变量startup.Rs引起的

当您在测试中执行另一个R进程时(在我的情况下,它是通过OGS qsub提交的),此环境变量的存在会导致问题。

答案 1 :(得分:0)

我无法直接回答您的问题,但您可以尝试两件事情来获取有关正在发生的事情的更多信息。

  1. 使用'env'在OSX计算机和Jenkins主机上转储环境变量
  2. 在Linux上通过strace运行该进程并在OSX上进行操作以捕获系统调用
  3. strace / dtruss应该显示它正在搜索startup.Rs和env输出的地方可能会给你一个环境变量,该变量在不同结果的系统会计之间有所不同。