简述从 Github 构建 Conda R包

示例/目的:安装R包 NMF 环境:CentOS 7 , Miniconda3, R 4.1.2 .

正文

当前 conda 里最新的 r-nmf包版本是 0.21,而Github中的版本是 0.30, 我所安装的某R包需要依赖 nmf>=0.23

为了容易复现,将创建一个新的 conda 环境,同时也建议单独把构建环境隔离出来。

conda create -n conda-build conda-build conda-verify
conda skeleton cran https://github.com/renozao/NMF
conda build -c conda-forge -c bioconda --R 4.1.2 r-nmf
conda install -n r-base -c ${CONDA_PREFIX}/conda-bld r-nmf

  1. 在名为 conda-build 环境里安装 conda-build 包 和conda-verify(可选)
  2. conda skeleton cran 将构建一个R包的骨架包(skeleton package 1),会从 Github缓存裸存储库(bare repository),并在家目录~/准备conda-build配方(conda recipe2
  3. 准备完成就可以用conda build创建conda包,此处声明了依赖的源有conda-forge和bioconda,且使用4.1.2版本的R编译。
  4. 最后用conda install安装就可以了。此处生成的conda包的路径是/opt/miniconda3/envs/conda-build/conda-bld,环境变量${CONDA_PREFIX}是当前所激活的虚拟环境的路径。

备注

详细信息可以查 conda的官方文档 /Github/各种 issue 或者 conda 命令 --help

conda Github NMF Github r-nmf anaconda conda-build 官方文档 我常用的 conda 环境--.condarc的配置


  1. 在官方文档中查看 skeleton package↩︎

  2. 此处conda recipe 为~/r-nmf,目录下有bld.bat build.sh meta.yaml 三个文件↩︎