欢迎访问我的博客!🎉
R语言环境构建

R语言环境构建

January 7, 2026
·
January 7, 2026
·
5 分钟

image

1.构建R语言全局环境

log:

(base) ➜  envs pixi global list
Global environments as specified in '/data/xds/Worktools/pixi/manifests/pixi-global.toml'
└── r
    ├─ dependencies: r-base 4.5.1, r-renv 1.1.5, r-pak 0.9.0
    └─ exposes: R, Rscript

首先,使用pixi全局环境管理,创建一个全局的R环境,这里使用pixi自由安装对应版本。

1.1 构建R

!!!用旧不用新,有些R包的更新不够快,所以最好使用落后一个或两个版本的语言进行工作,比较稳定。

# 构建代码
pixi global install --environment r r-base=4.4.3.* r-pak  r-biocmanager r-remotes r-essentials
# 删除该环境 
# pixi global uninstall --environment r

1.2 安装系统级的包

这里注意,pixi指定安装到哪个环境,使用add –enviroment name 参数。

# 📦 添加基础构建工具和图形库
# 构建系统中用于检测依赖的工具
# 字体渲染库
# 字体配置库
# 字体排版库
# 双向文本支持(如阿拉伯语)
# PNG 图像支持
# JPEG 图像支持(加速版)
# TIFF 图像支持
# 线性规划库
# Git 库,某些 R 包依赖它
pixi global add --environment r \
  pkg-config \
  freetype \
  fontconfig \
  harfbuzz \
  fribidi \
  libpng \
  libjpeg-turbo \
  libtiff \
  glpk \
  libgit2

# 🖼️ 添加文档与图像处理工具
# 文档转换工具,R Markdown 依赖
# 图像处理工具,支持图像导出与转换
pixi global add --environment r \
  pandoc \
  imagemagick

# 🧪 添加 Arrow 数据栈
# Arrow C++ 库
# Arrow C++ 构建支持
# R 的 Arrow 接口
pixi global add --environment r  r-arrow

# 🌍 添加地理信息栈(GIS)
# 地理数据抽象库
# 坐标转换库
# 几何运算库
# 单位转换库,常用于气象数据
pixi global add --environment r \
  gdal \
  proj \
  geos \
  udunits2

# 📊 添加 R 空间分析包
# R 的简单特征空间数据包
# R 的空间依赖分析包
pixi global add --environment r \
  r-sf \
  r-spdep

2.目标安装包

library(limma)
library(GEOquery)
library(stringr)
library(survival)
library(glmnet)
library(timeROC)
library(data.table)
library(ggpubr)
library(dplyr)
library(patchwork)
library(Matrix)
library(readr)
library(tibble)
library(ggplot2)
library(tidyverse)
library(future)
library(pheatmap)
library(msigdbr)
library(clusterProfiler)
library(Seurat)
library(SingleR)
library(harmony)
library(DoubletFinder)
library(copykat)
library(GSVA)
library(AUCell)
library(monocle3)
library(CellChat)
library(SCENIC)
library(RColorBrewer)
library(hdf5r)

3.使用pkg安装需要使用的包、

通过不同的渠道来源分批安装。

安装过程中可以看到,虽然有的系统依赖已经使用pixi安装,但是直接使用pak安装,依然会显示无法识别,但是在具体编译的时候,却可以调用,别管,这玩意能跑就行。

pkg安装的过程中,也可能因为各种原因,需要穿插使用一下BiocManager,remotes,这都无伤大雅,反正做好记录。

# CRAN

pak::pkg_install(c(
  "survival", "glmnet", "timeROC", "ggpubr", "Matrix", "future", "pheatmap", "harmony", "RColorBrewer", "hdf5r", "feather"))

# Bioconductor
pak::pkg_install("bioc::limma")
pak::pkg_install("bioc::GEOquery")
pak::pkg_install("bioc::msigdbr")
pak::pkg_install("bioc::Seurat")
pak::pkg_install("bioc::SingleR")
pak::pkg_install("bioc::GSVA")
pak::pkg_install("bioc::AUCell")
pak::pkg_install("bioc::rhdf5")
pak::pkg_install("YuLab-SMU/ggtree")
pak::pkg_install("bioc::clusterProfiler")
# GitHub
pak::pkg_install("github::chris-mcginnis-ucsf/DoubletFinder")
pak::pkg_install("github::satijalab/seurat-wrappers")
pak::pkg_install("github::navinlabcode/copykat")
pak::pkg_install("github::sqjin/CellChat")
pak::pkg_install("github::aertslab/SCopeLoomR")
pak::pkg_install("github::aertslab/SCENIC")
# BPCells是monocle3前提,因为直接安装无法解压(也可能是他github为止改变引起连锁反应)
remotes::install_github("bnprks/BPCells/r") # 注意这里的/r可能就是这样,所以pkg不能直接安装。
pak::pkg_install("github::cole-trapnell-lab/monocle3")

4.在WSL-Ubuntu环境中复现


# 个别包无法使用pkg安装,或者环境出现问题无法调用对应的应用编译软件.
# CRAN
pak::pkg_install(c(
  "survival", "glmnet", "timeROC", "ggpubr", "Matrix", "future", "pheatmap", "harmony", "RColorBrewer", "feather"))
# 直接使用pixi安装hdf5r也算是基本可以还原
pixi g add -e r r-hd5fr


# Bioconductor
pak::pkg_install("bioc::limma")
pak::pkg_install("bioc::GEOquery")
pak::pkg_install("bioc::msigdbr")
pak::pkg_install("bioc::Seurat")
pak::pkg_install("bioc::SingleR")
pak::pkg_install("bioc::GSVA")
pak::pkg_install("bioc::AUCell")
pak::pkg_install("bioc::rhdf5")
pak::pkg_install("YuLab-SMU/ggtree")
pak::pkg_install("bioc::clusterProfiler")
# GitHub
pak::pkg_install("github::chris-mcginnis-ucsf/DoubletFinder")
pak::pkg_install("github::satijalab/seurat-wrappers")
pak::pkg_install("github::navinlabcode/copykat")
pak::pkg_install("github::sqjin/CellChat")
pak::pkg_install("github::aertslab/SCopeLoomR")
pak::pkg_install("github::aertslab/SCENIC")
# BPCells是monocle3前提,因为直接安装无法解压(也可能是他github为止改变引起连锁反应)
remotes::install_github("bnprks/BPCells/r") # 注意这里的/r可能就是这样,所以pkg不能直接安装。
pak::pkg_install("github::cole-trapnell-lab/monocle3")

其它代码完美复现环境.

环境完美复现代码.