【发布时间】:2020-08-21 21:48:43
【问题描述】:
我非常渴望install.packages("devtools")。
但是它总是会因为这个错误而失败
Error: .onLoad failed in loadNamespace() for 'pkgload', details:
call: readRDS(nsInfoFilePath)
error: error reading from connection
Execution halted
ERROR: lazy loading failed for package ‘devtools’
* removing ‘/home/bjoern/R/x86_64-pc-linux-gnu-library/3.6/devtools’
我试图解决的问题:
- 添加
dependencies = T参数 - 根据 hadley wickham 在 github 上的建议 -> 更新 rlang 包
- 尝试运行
install.packages("pkgload")导致几乎完全相同的错误(见下文) - 完全删除 R 并重新安装它
- 另外安装以下软件包:
- r-base-dev
- r-cran-devtools
- r-推荐
- 更新了所有包 update.packages(ask = FALSE, checkBuilt = TRUE)
install.packages("pkgload") 出错
Error: package or namespace load failed for ‘pkgload’:
.onLoad failed in loadNamespace() for 'pkgload', details:
call: readRDS(nsInfoFilePath)
error: error reading from connection
Error: loading failed
Execution halted
ERROR: loading failed
我更深入地研究了pkgload(至少我希望这是问题的唯一原因)。我将检查是否手动(重新)安装所有导入并从 pkgload 的 CRAN 页面提出建议并解决它。
导入: desc、方法、pkgbuild、rlang、rprojroot、rstudioapi、 utils, withr
建议: bitops, covr, Rcpp, testthat
我的
sessionInfo() 输出:
R version 3.6.3 (2020-02-29)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 20.04 LTS
Matrix products: default
BLAS: /usr/lib/x86_64-linux-gnu/blas/libblas.so.3.9.0
LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.9.0
locale:
[1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
[3] LC_TIME=de_DE.UTF-8 LC_COLLATE=en_US.UTF-8
[5] LC_MONETARY=de_DE.UTF-8 LC_MESSAGES=en_US.UTF-8
[7] LC_PAPER=de_DE.UTF-8 LC_NAME=C
[9] LC_ADDRESS=C LC_TELEPHONE=C
[11] LC_MEASUREMENT=de_DE.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
loaded via a namespace (and not attached):
[1] compiler_3.6.3 tools_3.6.3
我仍然拒绝相信在 ubuntu20 上安装 devtools 是不可能的
但是在这一点上,我会采取任何稻草
解决方案编辑:
简而言之,为我解决问题的是之前安装了 testthat 包。感谢rui-barradas的评论
install.packages("testthat")
install.packages("pkgload")
install.packages("devtools")
【问题讨论】:
-
"我仍然拒绝相信在 ubuntu20 上安装 devtools 是不可能的" 好!我确定可以在 Ubuntu 20.04 上安装
devtools,因为我已经在 20.04 上安装了它!但是,我的 R 版本是 4.0.0,所以可能会有一些差异。这似乎是一个潜在的难以调试的问题。您可能需要确保没有安装 R 包(即删除r-cran-devtools和您的/home/user/R/文件夹中的所有包),然后从 justinstall.packages("pkgload")开始 -
@duckmayr 同样在这里,Ubuntu 20.04/R4.0.0 一切都很顺利。问题是我必须手动安装在 4.0.0 之前已经安装的每个依赖项。意思是,在安装
pkgload之前,我必须运行install.packages('testthat')。 -
如果/当您
apt-get install r-cran-devtools(根据 CRAN 站点上的 Ubuntu 特定说明将 Michael Rutter 的 PPA 添加到您的存储库列表之后),它是否有效?这应该足以安装软件包的二进制版本(尽管我很想知道为什么您在从源代码安装时遇到问题) -
@RuiBarradas 哇,修复了它。之前只需要手动安装
install.packages('testthat')。现在pkgload可以用作魅力,并且 devtools 也已成功安装。看起来 github 上已经有一个 issue 了 -
你想把这个总结为答案吗?其他人可能会遇到同样的情况? @RuiBarradas