Issues with {sf} when installing with {renv}

This vignette is intended to help resolve issues when installing {dawaR} on MacOS in a renv environment. We will resolve the issue that is printed below.

renv::install("aleksanderbl29/dawaR")
#> # Downloading packages -------------------------------------------------------
#> - Downloading sf from CRAN ...                  OK [18.6 Mb in 1.8s]
#> - Downloading dawaR from GitHub ...             OK [543.6 Kb in 0.67s]
#> Successfully downloaded 2 package in 2.5 seconds.
#> 
#> The following package(s) will be installed:
#> - sf [1.0-17]
#> - dawaR [aleksanderbl29/dawaR@main]
#> These packages will be installed into "~/Downloads/test/renv/library/macos/R-4.4/aarch64-apple-darwin20".
#> 
#> # Installing packages --------------------------------------------------------
#> - Installing sf ...                             OK [installed binary and cached in 0.72s]
#> - Installing dawaR ...                          OK [built from source and cached in 0.72s]
#> Successfully installed 2 package in 1.44 seconds.
dawaR::get_map_data("regioner")
#> Warning in CPL_read_ogr(dsn, layer, query, as.character(options), quiet, : GDAL
#> Error 1: PROJ: proj_create_from_database: Cannot find proj.db
#> Simple feature collection with 5 features and 9 fields
#> Geometry type: MULTIPOLYGON
#> Dimension:     XY
#> Bounding box:  xmin: 8.07251 ymin: 54.55908 xmax: 15.1974 ymax: 57.75257
#> Geodetic CRS:  WGS 84
#>   dagi_id kode               navn nuts2              ændret          geo_ændret
#> 1  389098 1081 Region Nordjylland  DK05 2024-02-05 23:01:25 2024-02-05 23:01:25
#> 2  389101 1082 Region Midtjylland  DK04 2024-02-05 23:01:25 2024-02-05 23:01:25
#> 3  389102 1083  Region Syddanmark  DK03 2024-02-05 23:01:25 2024-02-05 23:01:25
#> 4  389099 1084 Region Hovedstaden  DK01 2024-02-05 23:01:25 2024-02-05 23:01:25
#> 5  389100 1085    Region Sjælland  DK02 2024-01-16 23:03:35 2024-01-16 23:03:35
#>   geo_version visueltcenter_x visueltcenter_y                       geometry
#> 1          31       10.112829        57.30716 MULTIPOLYGON (((10.6141 57....
#> 2          41        9.605032        56.23399 MULTIPOLYGON (((9.06696 56....
#> 3          31        9.028461        55.56317 MULTIPOLYGON (((10.53094 54...
#> 4          30       12.279374        55.97239 MULTIPOLYGON (((12.31077 56...
#> 5          26       11.621319        55.43979 MULTIPOLYGON (((11.9013 54....

Specifically the issue with GDAL not being able to find proj.db.

According to this issue on GitHub the issue is caused by renv installing the version of {sf} from the posit package manager where the gdal subdirectory is not included in the {sf} package from this repo - but it is included in the version of {sf} from https://CRAN.R-project.org. To work around this you should set the CRAN repo before installing the package.

You can do as follows:

options(repos = c(CRAN = "https://cran.rstudio.com/"))
renv::remove("sf")
renv::purge("sf")
renv::install("sf")
renv::install("aleksanderbl29/dawaR")
renv::snapshot()
renv::clean() # for good measure
renv::rebuild()

Now all should be hunky-dory! Have fun with the package.