【发布时间】:2021-04-29 18:17:33
【问题描述】:
我想为 CRAN 准备我的第一个包,并不断面临这个错误
在 Rstudio 时:
> devtools::check(args = c('--as-cran'))
错误是:
** byte-compile and prepare package for lazy loading
Error in loadNamespace(j <- i[[1L]], c(lib.loc, .libPaths()), versionCheck = vI[[j]]) :
there is no package called ‘Matrix’
Calls: <Anonymous> ... loadNamespace -> withRestarts -> withOneRestart -> doWithOneRestart
Execution halted
ERROR: lazy loading failed for package
1 error x | 0 warnings ✓ | 0 notes ✓
Error: R CMD check found ERRORs
Execution halted
以及何时:
$ R CMD check pkgname*.tar.gz
一切顺利,通过检查。
对于这个错误,我几乎尝试了网络上所有可能的解决方案,例如1、2、3、4、5、6 等等,但没有成功。
sessionInfo()
> sessionInfo()
R version 4.0.2 (2020-06-22)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 20.04.1 LTS
Matrix products: default
BLAS: /opt/microsoft/ropen/4.0.2/lib64/R/lib/libRblas.so
LAPACK: /opt/microsoft/ropen/4.0.2/lib64/R/lib/libRlapack.so
locale:
[1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C LC_TIME=en_GB.UTF-8
[4] LC_COLLATE=en_US.UTF-8 LC_MONETARY=en_GB.UTF-8 LC_MESSAGES=en_US.UTF-8
[7] LC_PAPER=en_GB.UTF-8 LC_NAME=C LC_ADDRESS=C
[10] LC_TELEPHONE=C LC_MEASUREMENT=en_GB.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] eumap_0.0.4 RevoUtils_11.0.2 RevoUtilsMath_11.0.0
loaded via a namespace (and not attached):
[1] Rcpp_1.0.5 paradox_0.7.0 lattice_0.20-41
[4] listenv_0.8.0 prettyunits_1.1.1 ps_1.5.0
[7] assertthat_0.2.1 rprojroot_1.3-2 digest_0.6.25
[10] R6_2.4.1 ranger_0.12.1 backports_1.1.8
[13] ggplot2_3.3.2 pillar_1.4.6 rlang_0.4.10.9000
[16] uuid_0.1-4 rstudioapi_0.11 data.table_1.12.8
[19] whisker_0.4 callr_3.5.1 raster_3.3-7
[22] Matrix_1.2-18 checkmate_2.0.0 mlr3spatiotempcv_0.1.1
[25] devtools_2.3.0 desc_1.2.0 stringr_1.4.0
[28] munsell_0.5.0 compiler_4.0.2 xfun_0.15
[31] pkgconfig_2.0.3 pkgbuild_1.1.0 globals_0.12.5
[34] tidyselect_1.1.0 tibble_3.0.3 lgr_0.3.4
[37] roxygen2_7.1.1 mlr3misc_0.7.0 codetools_0.2-16
[40] fansi_0.4.1 future_1.18.0 crayon_1.3.4
[43] dplyr_1.0.0 withr_2.4.0 commonmark_1.7
[46] grid_4.0.2 gtable_0.3.0 lifecycle_0.2.0
[49] git2r_0.27.1 magrittr_2.0.1 scales_1.1.1
[52] cli_2.2.0 stringi_1.4.6 remotes_2.2.0
[55] fs_1.5.0 sp_1.4-5 testthat_3.0.1
[58] xml2_1.3.2 ellipsis_0.3.1 vctrs_0.3.2
[61] generics_0.0.2 rcmdcheck_1.3.3 tools_4.0.2
[64] mlr3_0.10.0 glue_1.4.1 purrr_0.3.4
[67] processx_3.4.5 pkgload_1.1.0 parallel_4.0.2
[70] colorspace_1.4-1 terra_0.7-11 xopen_1.0.0
[73] sessioninfo_1.1.1 memoise_1.1.0 knitr_1.29
[76] usethis_1.6.1
我在 Ubuntu 20.4 上运行。
请帮帮我。
【问题讨论】:
-
我最近也遇到过类似的问题,不知道我的收获对你来说是不是一样:
Matrix包安装在哪个.libPaths()中?核心check在检查包时将不包含个人库,仅包含系统默认值。R_LIBS_USER被忽略至少一组测试包可用性。试试这个(如果您在这台计算机上有管理员权限):将Matrix子目录从.libPaths()中的任何一个移动到其中的系统目录之一(例如,/usr/lib/R/library/并重做检查。 -
您使用的是 Microsoft R。我会尝试从 CRAN 安装 R,看看您是否仍有此问题。我怀疑你不会; MS 以某种方式搞砸了他们的构建。
-
@r2evans $ locate Matrix:
/usr/lib/R/library/Matrix /home/mohammadreza/R/x86_64-pc-linux-gnu-library/4.0/Matrix和 .libPaths():[1] "/home/mohammadreza/R/x86_64-pc-linux-gnu-library/4.0" [2] "/opt/microsoft/ropen/4.0.2/lib64/R/library"R_LIBS_USER:@ 987654343@ -
之后使用 CRAN R 并链接您的自定义 BLAS。这是一个例子:pat-s.me/post/arch-install-guide-for-r/…
-
好的,谢谢大家; 5天后问题解决!所以我做了什么:1- 我尝试了@r2evans 的第一种方法,但是没有用,2- 删除了 mran,3-安装R-CRAN_4.3,4-安装MKL库5-集成MKL 使用THIS LINK 6- 删除所有以前安装的包,7- 设置了新的默认
libpath,8- 重新安装依赖项并建议的库,9- 运行R CMD CHECK--as-CRAN,最后 DONE! 感谢 @r2evans @pat-s @ user2554330。