Travis构建在插图内的dplyr矢量调用失败

时间:2017-05-03 22:56:43

标签: r dplyr travis-ci

当我将包裹推到travis时,小插图检查失败。我知道我可以跳过它,但它会让我烦恼。

我已经确定至少有一个问题属于我的代码中的特定调用。

有问题的RMD块:

get_storm_data("fstadv", link = al.1998.charley %>% .$Link)

al.1998.charley

al.1998.charley <- structure(list(Year = 1998, 
                                  Name = "TROPICAL STORM CHARLEY", 
                                  Basin = "AL", 
                                  Link = "http://www.nhc.noaa.gov/archive/1998/1998CHARLEYadv.html"), 
                             class = "data.frame", 
                             row.names = c(NA, -1L), 
                             .Names = c("Year", "Name", "Basin", "Link"))

link参数是发送到函数get_storm_data的字符串,用于进行网页抓取。

以下三个值相同:

a <- al.1998.charley %>% .$Link
b <- al.1998.charley %>% `[[`('Link')
c <- "http://www.nhc.noaa.gov/archive/1998/1998CHARLEYadv.html"
  

相同(a,b)   [1] TRUE

     

相同(b,c)   [1] TRUE

但是,只有传递给link参数的值c才会传递travis。

特拉维斯错误:

Building with: R CMD build 
6.09s$ R CMD build  .
* checking for file ‘./DESCRIPTION’ ... OK
* preparing ‘Hurricanes’:
* checking DESCRIPTION meta-information ... OK
* installing the package to build vignettes
* creating vignettes ... ERROR
Quitting from lines 86-87 (getting-started.Rmd) 
Error: processing vignette 'getting-started.Rmd' failed with diagnostics:
is.character(url) is not TRUE
Execution halted

如果有必要,我可以在here找到解决此问题的所有尝试。

修改

这个小插曲以前从未引起过任何问题。 Build 16过去了。 Nothing was different in the vignette。我在该提交和HEAD之间进行了git diff,以使分支完全匹配(因为原始分支已被删除)。除了其他文件(空格,换行符等)中的外观差异,它仍然失败。

这让我相信这是对travis的升级或改变。结束。我阅读了博客,但在最后一次成功传递(Build 16)和当前传递之间没有相关的变化。

最终修改

当我在上一次编辑中提到,自上次成功构建以来,小插图没有改变,我应该更清楚了。 3月份通过的整个提交今天都不会通过。我还不清楚为什么。

我想指出任何新人:检查travis包以确保它们与您的系统匹配。我的系统上的R CMD构建没有任何问题。但是与travis相比,我的一些套餐已经过时了。感谢@jimhester(GitHub)pointing that out

会话信息

R版本3.4.0(2017-04-21)

平台: x86_64-pc-linux-gnu(64位)

区域设置: _LC_CTYPE = en_US.UTF-8_,_LC_NUMERIC = C_,_LC_TIME = en_US.UTF-8_,_LC_COLLATE = en_US.UTF-8_,_LC_MONETARY = en_US.UTF-8_,_LC_MESSAGES = en_US.UTF-8_,_LC_PAPER = en_US.UTF- 8_,_LC_NAME = C_,_LC_ADDRESS = C_,_LC_TELEPHONE = C_,_LC_MEASUREMENT = en_US.UTF-8_和_LC_IDENTIFICATION = C _

附加基础套餐 stats 图形 grDevices utils 数据集方法< / em>和 base

其他附件包 Hurricanes(v.0.1.0) dplyr(v.0.5.0) purrr(v.0.2.2) readr(v.1.0.0) tidyr(v.0.6.1) tibble(v.1.2) ggplot2(v .2.2.1) tidyverse(v.1.0.0) magrittr(v.1.5)

通过命名空间(而非附加)加载: Rcpp(v.0.12.7)摘要(v.0.6.10)断言(v.0.1) R6 (v.2.2.0) grid(v.3.4.0) plyr(v.1.8.4) DBI(v .0.5-1) gtable(v.0.2.0) scale(v.0.4.1) lazyeval(v.0.2) .0) data.table(v.1.10.4)工具(v.3.4.0) pander(v.0.6) .0) munsell(v.0.4.3)编译器(v.3.4.0)色彩空间(v.1.3-0 )

1 个答案:

答案 0 :(得分:1)

Link中的

al.1998.charley被存储为Travis的一个因素(也许您已将stringsAsFactors选项设置为本地某处的FALSE?)。 httr不会将因子向量强制转换为字符,因此会出错。尝试在as.character()周围al.1998.charley %>% .$Link包裹。