Open jennybc opened 3 years ago
I encountered this issue also
Error in if (nrow(rows) == 0) { : argument is of length zero
for package with installation error (due a issue on RSPM during the installation).
Same cause
Based on what I learned when doing #319, I think these lines are "overloaded", i.e. too many different kinds of problems (or maybe even non-problems) are lumped together by:
any(grep("ERROR: .*is not available for package", readLines(dependency_path, warn = FALSE))) || !(file.exists(old) && file.exists(new))
@jimhester recently set
_R_CHECK_FORCE_SUGGESTS_="false"
in our cloud revdep checks, at my request, because a revdep has a soft dependency on a Bioconductor package: the usethis revdep butcher Suggests NMF, which is on Bioconductor.This leads to
butcher/dependency_install.log
to contain this ERROR message:However butcher can still be installed and checked. But I can't inspect those details via
cloud_details(revdep = "butcher")
becausecloud_compare()
still interprets this as a dependency error and we end up here:https://github.com/r-lib/revdepcheck/blob/db3bc3b3667db4f93b63ff2e87a3c5608feafa81/R/cloud.R#L342-L344
It's a printing problem, i.e. this leads to the formation of an unexpected or malformed object of class
rcmdcheck_error
.I'm not sure which solution(s) is/are correct:
rcmdcheck_error
object by having a component namedcmp
herercmdcheck:::print_comparison
resilient to the absence ofx$cmp