构建 conda 包时未定义 cran_mirror

Undefined cran_mirror when building conda packages

我正在尝试使用 skeleton 在 conda 中构建 R 包。使用所需的包准备好环境后,我执行以下命令

$ conda skeleton cran arules
$ conda build r-arules

配方文件已生成,一切正常,但构建命令导致以下错误:

Adding in variants from internal_defaults
INFO:conda_build.variants:Adding in variants from internal_defaults
Attempting to finalize metadata for r-arules
INFO:conda_build.metadata:Attempting to finalize metadata for r-arules
Undefined Jinja2 variables remain (['cran_mirror', 'cran_mirror']). 
Please enable source downloading and try again.

我一直在阅读文档并在网上搜索此问题的解决方案,但没有成功,而且我不知道还能做什么。 ¿有什么想法吗?

注释:我已经开始学习本教程:http://ihrke.github.io/conda.html but afterwards I have also checked the official conda documentation on building packages 和其他相关文档。我已经更新了 conda (= 4.5.2),以及 conda-build (= 3.10.1)

我终于找到了如何用两种不同的方式解决我的问题:

最直接的解决办法是在创建recipse时使用--cran-url选项指定cran url,如下:

$ conda skeleton cran arules --cran-url https://mran.microsoft.com/snapshot/2018-01-01/

另一个解决方案是创建一个 conda-build 配置文件,使用 yaml。在该文件中,我们指定了 cran 镜像,例如:

cran_mirror: https://mran.microsoft.com/snapshot/2018-01-01/

然后,我们应该在创建配方时使用选项-m

$ conda skeleton cran arules -m path/to/conda_build_config.yam

PD:根据 pull request

中的评论,conda-build 的下一个版本似乎会有一个默认的 cran 镜像