[英]Why does `renv` do not restore packages which are deprecated for a older R versions?
我有以下设置:
renv
(0.11.0) 对项目包进行快照renv.lock
文件包含多个包。 其中之一是版本为2.9-5
raster
由于 CRAN 上较新版本的raster
包更改了 R 依赖项(R>= 3.5),因此renv
无法恢复包,因为renv
不再在 CRAN 上找到raster
包。
信息:
Error: package 'raster' is not available
git repo 上的项目是使用 R 版本 3.4.3 构建的。 我也为此项目使用了本地存储库,但这根本不会引起问题。
有什么建议可以让renv
按预期工作吗?
这似乎对我renv 0.12.0
。 使用这个锁文件:
{
"R": {
"Version": "3.4.4",
"Repositories": [
{
"Name": "CRAN",
"URL": "https://cran.rstudio.com"
}
]
},
"Packages": {
"Rcpp": {
"Package": "Rcpp",
"Version": "1.0.5",
"Source": "Repository",
"Repository": "CRAN",
"Hash": "125dc7a0ed375eb68c0ce533b48d291f"
},
"lattice": {
"Package": "lattice",
"Version": "0.20-35",
"Source": "Repository",
"Repository": "CRAN",
"Hash": "10a22a9a66fbe7944e9ef98985d7c927"
},
"raster": {
"Package": "raster",
"Version": "2.9-5",
"Source": "Repository",
"Repository": "CRAN",
"Hash": "85a01c2f0ad30d43f51b861a2d78d5e8"
},
"renv": {
"Package": "renv",
"Version": "0.12.0",
"Source": "Repository",
"Repository": "CRAN",
"Hash": "7340c71f46a0fd16506cfa804e224e44"
},
"sp": {
"Package": "sp",
"Version": "1.4-4",
"Source": "Repository",
"Repository": "CRAN",
"Hash": "e0485290545c0e768c2b50390114da1f"
}
}
}
我在renv::restore()
上看到以下内容:
> renv::restore()
The following package(s) will be updated:
# CRAN ===============================
- Rcpp [* -> 1.0.5]
- raster [* -> 2.9-5]
- sp [* -> 1.4-4]
Do you want to proceed? [y/N]: y
* Querying repositories for available binary packages ... Done!
* Querying repositories for available source packages ... Done!
Retrieving 'https://cran.rstudio.com/src/contrib/Rcpp_1.0.5.tar.gz' ...
OK [file is up to date]
Retrieving 'https://cran.rstudio.com/src/contrib/Archive/raster/raster_2.9-5.tar.gz' ...
OK [file is up to date]
Retrieving 'https://cran.rstudio.com/src/contrib/sp_1.4-4.tar.gz' ...
OK [file is up to date]
Installing Rcpp [1.0.5] ...
OK [built from source]
Installing sp [1.4-4] ...
OK [built from source]
Installing raster [2.9-5] ...
OK [built from source]
如果您在更新到renv 0.12.0
后仍然遇到问题,我建议您在https://github.com/rstudio/renv/issues提交带有一些额外上下文的问题。
这些建议对我不起作用。 但是我通过忽略来自 renv 的缓存解决了这个问题。 似乎在 renv 中缓存包会导致此错误。
解决方案:我没有设定renv设置use.cash
到F
我使用之前renv::restore()
如果有人对此有更多了解或有任何关于 renv 缓存的良好文档,我将不胜感激。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.