Включение каретки в другой пакет приводит к ошибке во время devtools :: check () - «нет пакета с именем lattice» - PullRequest
0 голосов
/ 03 апреля 2020

Я пытаюсь включить каретку в пакет, который разрабатываю. Когда я запускаю devtools :: check (), я получаю сообщение об ошибке «нет пакета с именем« решетка »». Если я удалю каретку из раздела «Импорт» файла DESCRIPTION, ошибка исчезнет. Я не уверен, что вызывает эту проблему. На моей машине установлена ​​решетка.

Я не знаю, как предоставить воспроизводимый пример, так как пакет находится в разработке, поэтому я включил версию пакета здесь . Если это поможет, мой файл DESCRIPTION (без каретки) выглядит следующим образом

Package: tswgewrapped
Title: Helpful wrappers for 'tswge', 'vars' and 'nnfor' time series packages
Version: 1.8.10
Authors@R: c(
    person("David", "Josephs", email = "josephsd@smu.edu", role = c("aut", "cre")),
    person("Nikhil", "Gupta", email = "guptan@smu.edu", role = c("aut")))
Description: This package provides several helpful wrappers for the already useful 'tswge', 'vars' and 'nnfor' package. In the future, this package intends to move away from the tswge backend, to be faster, with more readable source code.
License: AGPL-3
Encoding: UTF-8
LazyData: true
Imports: 
    assertr,
    doParallel,
    dplyr,
    ggfortify,
    GGally,
    ggplot2,
    magrittr,
    nnfor,
    rlang,
    pander,
    parallel,
    patchwork,
    purrr,
    R6,
    RColorBrewer,
    Rfast,
    tibble,
    tictoc,
    tswge,
    vars,
    forecast
RoxygenNote: 7.1.0
Suggests: 
    testthat (>= 2.1.0),
    tseries,
    knitr,
    rmarkdown
VignetteBuilder: knitr

Вот мой sessionInfo

> sessionInfo()
R version 3.5.1 (2018-07-02)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows >= 8 x64 (build 9200)

Matrix products: default

locale:
[1] LC_COLLATE=English_United States.1252  LC_CTYPE=English_United States.1252    LC_MONETARY=English_United States.1252
[4] LC_NUMERIC=C                           LC_TIME=English_United States.1252    

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] tswgewrapped_1.8.10 caret_6.0-84        ggplot2_3.3.0       lattice_0.20-41    

loaded via a namespace (and not attached):
  [1] colorspace_1.4-1    class_7.3-15        rprojroot_1.3-2     fs_1.3.1            rstudioapi_0.10     roxygen2_7.1.0     
  [7] remotes_2.1.0       smooth_2.5.5        lubridate_1.7.4     prodlim_2018.04.18  xml2_1.2.0          splines_3.5.1      
 [13] codetools_0.2-16    doParallel_1.0.14   knitr_1.23          pkgload_1.0.2       greybox_0.5.8       nloptr_1.2.1       
 [19] compiler_3.5.1      tictoc_1.0          backports_1.1.4     assertthat_0.2.1    RcppZiggurat_0.1.5  Matrix_1.2-17      
 [25] strucchange_1.5-2   cli_1.1.0           prettyunits_1.0.2   tools_3.5.1         gtable_0.3.0        glue_1.3.1         
 [31] reshape2_1.4.3      dplyr_0.8.5         Rcpp_1.0.1          fracdiff_1.4-2      xopen_1.0.0         lamW_1.3.0         
 [37] urca_1.3-0          tswge_1.0.0         nlme_3.1-137        iterators_1.0.10    vars_1.5-3          lmtest_0.9-37      
 [43] timeDate_3043.102   gower_0.2.1         xfun_0.8            stringr_1.4.0       ps_1.3.0            testthat_2.1.1     
 [49] devtools_2.1.0      statmod_1.4.33      MASS_7.3-51.4       zoo_1.8-6           scales_1.0.0        ipred_0.9-9        
 [55] parallel_3.5.1      sandwich_2.5-1      RColorBrewer_1.1-2  yaml_2.2.0          quantmod_0.4-15     curl_3.3           
 [61] memoise_1.1.0       gridExtra_2.3       pander_0.6.3        rcmdcheck_1.3.3     rpart_4.1-15        reshape_0.8.8      
 [67] stringi_1.4.3       tseries_0.10-47     desc_1.2.0          foreach_1.4.4       TTR_0.23-4          pkgbuild_1.0.3     
 [73] lava_1.6.5          rlang_0.4.2         pkgconfig_2.0.2     purrr_0.3.3         nnfor_0.9.6         recipes_0.1.6      
 [79] patchwork_1.0.0     Rfast_1.9.9         processx_3.4.1      tidyselect_0.2.5    GGally_1.5.0        plyr_1.8.4         
 [85] magrittr_1.5        R6_2.4.0            generics_0.0.2      pillar_1.4.2        withr_2.1.2         xts_0.11-2         
 [91] survival_2.44-1.1   nnet_7.3-12         ggfortify_0.4.8     tibble_2.1.3        crayon_1.3.4        usethis_1.5.1      
 [97] grid_3.5.1          data.table_1.12.2   callr_3.3.1         ModelMetrics_1.2.2  forecast_8.9        digest_0.6.20      
[103] MAPA_2.0.4          assertr_2.7         tidyr_0.8.3         numDeriv_2016.8-1.1 tsutils_0.9.2       stats4_3.5.1       
[109] RcppParallel_4.4.3  munsell_0.5.0       sessioninfo_1.1.1   quadprog_1.5-7

1 Ответ

1 голос
/ 28 апреля 2020

Я наконец-то нашел решение моей проблемы.

Решение 1

Я установил R на моем новом компьютере более года a go и следовательно использовал версию 3.5.1. По какой-то причине (вы можете видеть мое мое SessionInfo) каретка и решетка показывались под other attached packages, а не под loaded via a namespace (and not attached).

Я также заметил, что если я поместил символ вставки в пространство имен моего пакета, то часть установки devtools::check() прошла без каких-либо проблем, но процесс жаловался на решетку во время раздела модульных тестов.

Итак, временное решение, которое я нашел, было установить lattice и forecast пакеты в разделе настройки модульного теста (testthat.R). Это не похоже на чистое решение, но оно сработало. Вы можете видеть, что здесь - версия 1.8.10.8 пакета .

if(!require("lattice")){
  # https://github.com/topepo/caret/issues/411#issuecomment-209973908
  install.packages("lattice", repos = "http://cran.us.r-project.org", dependencies = c("Depends", "Imports", "Suggests"))
}

if(!require("forecast")){
  # https://github.com/topepo/caret/issues/411#issuecomment-209973908
  install.packages("forecast", repos = "http://cran.us.r-project.org", dependencies = c("Depends", "Imports", "Suggests"))
}

Решение 2

Вчера я обновился до последней версии версии R (3.6.3) и снова установил все пакеты. Теперь вы можете видеть из моего SessionInfo, что caret и lattice правильно отображаются в разделе loaded via a namespace (and not attached).

И теперь все отлично работает с devtools::check(), даже если я удаляю lattice и forecast установка пакета из раздела настройки модульного теста. Поэтому я считаю, что была какая-то проблема со старой версией R и с тем, как она взаимодействовала с моей установкой.

> sessionInfo()
R version 3.6.3 (2020-02-29)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 10 x64 (build 17763)

Matrix products: default

Random number generation:
 RNG:     Mersenne-Twister 
 Normal:  Inversion 
 Sample:  Rounding 

locale:
[1] LC_COLLATE=English_United States.1252  LC_CTYPE=English_United States.1252    LC_MONETARY=English_United States.1252
[4] LC_NUMERIC=C                           LC_TIME=English_United States.1252    

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] tswgewrapped_1.8.10.9

loaded via a namespace (and not attached):
  [1] colorspace_1.4-1     ellipsis_0.3.0       class_7.3-15         rprojroot_1.3-2      fs_1.4.1             rstudioapi_0.11     
  [7] roxygen2_7.1.0       remotes_2.1.1        smooth_2.5.6         prodlim_2019.11.13   fansi_0.4.1          lubridate_1.7.8     
 [13] xml2_1.3.1           codetools_0.2-16     splines_3.6.3        doParallel_1.0.15    knitr_1.28           pkgload_1.0.2       
 [19] greybox_0.5.9        nloptr_1.2.2.1       pROC_1.16.2          caret_6.0-86         compiler_3.6.3       tictoc_1.0          
 [25] backports_1.1.6      assertthat_0.2.1     RcppZiggurat_0.1.5   Matrix_1.2-18        strucchange_1.5-2    cli_2.0.2           
 [31] prettyunits_1.1.1    tools_3.6.3          gtable_0.3.0         glue_1.4.0           reshape2_1.4.4       dplyr_0.8.5         
 [37] Rcpp_1.0.4.6         xopen_1.0.0          fracdiff_1.5-1       vctrs_0.2.4          lamW_1.3.0           urca_1.3-0          
 [43] tswge_1.0.0          nlme_3.1-144         iterators_1.0.12     vars_1.5-3           lmtest_0.9-37        timeDate_3043.102   
 [49] gower_0.2.1          xfun_0.13            stringr_1.4.0        ps_1.3.2             testthat_2.3.2       lifecycle_0.2.0     
 [55] devtools_2.3.0       statmod_1.4.34       MASS_7.3-51.5        zoo_1.8-7            scales_1.1.0         ipred_0.9-9         
 [61] parallel_3.6.3       sandwich_2.5-1       RColorBrewer_1.1-2   quantmod_0.4.17      curl_4.3             memoise_1.1.0       
 [67] gridExtra_2.3        ggplot2_3.3.0        pander_0.6.3         rcmdcheck_1.3.3      rpart_4.1-15         reshape_0.8.8       
 [73] stringi_1.4.6        tseries_0.10-47      desc_1.2.0           foreach_1.5.0        TTR_0.23-6           pkgbuild_1.0.6      
 [79] lava_1.6.7           rlang_0.4.5          pkgconfig_2.0.3      pracma_2.2.9         lattice_0.20-38      purrr_0.3.4         
 [85] nnfor_0.9.6          recipes_0.1.10       patchwork_1.0.0      Rfast_1.9.9          processx_3.4.2       tidyselect_1.0.0    
 [91] GGally_1.5.0         plyr_1.8.6           magrittr_1.5         R6_2.4.1             generics_0.0.2       pillar_1.4.3        
 [97] withr_2.1.2          xts_0.12-0           survival_3.1-8       nnet_7.3-12          ggfortify_0.4.9      tibble_3.0.0        
[103] crayon_1.3.4         usethis_1.6.0        grid_3.6.3           data.table_1.12.8    callr_3.4.3          ModelMetrics_1.2.2.2
[109] forecast_8.12        digest_0.6.25        MAPA_2.0.4           assertr_2.7          tidyr_1.0.2          tsutils_0.9.2       
[115] RcppParallel_5.0.0   stats4_3.6.3         munsell_0.5.0        sessioninfo_1.1.1    quadprog_1.5-8      

Надеюсь, это будет полезно для будущих читателей. Извлеченный урок состоит в том, чтобы не слишком расходиться с c с последней версией инструмента и пакетов .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...