安装包依赖项时,R不尊重最大版本

时间:2017-03-09 00:55:20

标签: r

假设我正在开发一个名为magicr的程序包来做一些统计魔法,我希望它能使用另一个名为fairydust的程序包中的函数(假设存在于CRAN上)。

不幸的是fairydust刚刚将版本2.0.0发布到CRAN并完全破坏了我计划使用的功能。

所以我更新了我的描述

Imports:
     fairydust (<= 1.9.9)

构建软件包并尝试将测试安装到一个干净的库中

devtools::install_local("~path/to/magicr")

Installing magicr
Installing 1 package: fairydust
Installing package into /path/to/current/library/fairydust
trying URL 'https://cran.rstudio.com/bin/windows/contrib/3.3/fairydust_2.0.0.zip'
Content type 'application/zip' length 11235813 bytes (11.2 MB)
downloaded 11.2 MB

package ‘fairydust’ successfully unpacked and MD5 sums checked

* installing *source* package 'magicr' ...
** R
** inst
** tests
** preparing package for lazy loading
Error in loadNamespace(i, c(lib.loc, .libPaths()), versionCheck = vI[[i]]) : 
  namespace 'fairydust' 2.0.0 is being loaded, but <= 1.9.9 is required
ERROR: lazy loading failed for package 'magicr'
* removing 'path/to/current/library/magicr'
Error: Command failed (1)

因此,在解析依赖关系时,它只是从CRAN安装了最新版本的fairydust,然后在尝试加载magicr时检查了该版本。

有没有办法在安装fairydust时自动获取所需版本的magicr,而无需构建并指向自定义存储库(la dratminiCRAN

0 个答案:

没有答案