PKGTYPE: both does not work
rabutler-usbr opened this issue · 5 comments
In the current builds for R 3.5.0, builds are failing because the feather package is not available in binary form. Setting PKGTYPE: source
fixes this, however then builds take much longer since it builds all packages from source.
I would like to replicate the behavior of install.packages(c("feather", "tidyr"), type = "both")
since that builds feather, but installs tidyr from binary.
I thought setting PKGTYPE: source
would do the trick, but it doesn't. I believe this is because when I run install.packages(c("feather", "tidyr"), type = "both")
in RStudio it requires user input in the form of a popup window, confirming I want to build feather.
Is there a way to correctly set PKGTYPE
or another parameter I'm missing?
install.packages(..., type = "both")
will prompt for UI if a package needs to be built from source by default. This is because the default option for install.packages.compile.from.source
is "interactive"
.
If install.packages.compile.from.source
is set to "always"
, it will not prompt for UI and will only install from source if the binary is not available.
However, I do not think using type = "both"
actually works, since R-appveyor relies on remotes::install_deps()
, and install_deps()
automatically replaces type = "both"
with "binary".
So, I think the AppVeyor yaml, PKGTYPE: both
and PKGTYPE: binary
are equivalent.
But, as soon as the next version of remotes is available, it should work as expected. See r-lib/remotes@d3a6766
Thanks. Is this still a problem?
I think it should be fixed based on the 2.x release of remotes.
I removed the explicit calls to build feather from source that I added to my appveryor build script, and the latest build passed (https://ci.appveyor.com/project/BoulderCodeHub/RWDataPlyr). However, that doesn't fully test it, as there is now a feather binary available.
I'm not sure of any packages that only have the source available currently to completely test this.