Ubuntu中使用miniconda安装R和R包devtools

安装devtools环境包

复制代码
sudo apt-get install gfortran -y
sudo apt-get install build-essential -y
sudo apt-get install libxt-dev -y
sudo apt-get install libcurl4-openssl-dev -y
sudo apt-get install libxml++2.6-dev -y
sudo apt-get install libssl-dev -y
sudo apt-get install libxml2 -y
sudo apt-get install libxml2-dev -y
sudo apt-get install libgit2-dev -y
sudo apt-get install libfontconfig1-dev -y
sudo apt-get install libharfbuzz-dev libfribidi-dev -y
sudo apt-get install libudunits2-dev libgdal-dev libgeos-dev -y
sudo apt-get install libfreetype6-dev libpng-dev libtiff5-dev libjpeg-dev -y

下载安装miniconda

复制代码
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
chmod +x Miniconda3-latest-Linux-x86_64.sh #给下载下来的安装文件添加执行权限
sudo bash Miniconda3-latest-Linux-x86_64.sh

切换到root用户,配置环境,vi ~/.bashrc 在最后添加下面内容

复制代码
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/root/miniconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
    eval "$__conda_setup"
else
    if [ -f "/root/miniconda3/etc/profile.d/conda.sh" ]; then
        . "/root/miniconda3/etc/profile.d/conda.sh"
    else
        export PATH="/root/miniconda3/bin:$PATH"
    fi
fi
unset __conda_setup
# <<< conda initialize <<<

运行source ~/.bashrc 使配置生效

进入conda环境

复制代码
source ~/.bashrc
conda

可通过修改conda源来提供下载速度。

cat .condarc

复制代码
channels:
  - https://mirrors.ustc.edu.cn/anaconda/cloud/bioconda/
  - https://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge/
  - https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
  - https://mirrors.ustc.edu.cn/anaconda/pkgs/r/
  
 
show_channel_urls: true
 
default_channels:
  - https://mirrors.ustc.edu.cn/anaconda/pkgs/main
  - https://mirrors.ustc.edu.cn/anaconda/pkgs/r
  - https://mirrors.ustc.edu.cn/anaconda/pkgs/msys2
 
custom_channels:
  conda-forge: https://mirrors.ustc.edu.cn/anaconda/cloud
  msys2: https://mirrors.ustc.edu.cn/anaconda/cloud
  bioconda: https://mirrors.ustc.edu.cn/anaconda/cloud
  menpo: https://mirrors.ustc.edu.cn/anaconda/cloud
  pytorch: https://mirrors.ustc.edu.cn/anaconda/cloud
  simpleitk: https://mirrors.ustc.edu.cn/anaconda/cloud
更新conda
复制代码
conda update -n base conda

安装mamba

复制代码
conda install mamba -n base -c conda-forge

因为Conda官方从2022年3月就提出比Conda更快解决方案-Libmamba。为了解决conda生态系统内部与增长相关的挑战,conda维护人员与合作伙伴Anaconda、Quansight和QuantStack一起在2022年12月引入了基于Mamba项目的新conda依赖项求解器。QuantStack,开发 mamba 和 libmamba;Quansight,将 libmamba 集成到 conda 中;和Anaconda,开发 conda 并管理整体工作。mamba是 conda 包管理器的 C++ 重新实现。

更新到Conda 23.10.0的时候,它们自动默认使用conda-libmamba-solver插件。

官网解释: Conda 23.10.0: libmamba is now the default solver | conda.org

但我觉得还是要配置下求解器

安装并设置新的求解器

复制代码
conda install -n base conda-libmamba-solver
conda config --set solver libmamba

创建R4.4环境

复制代码
conda create -n r4.4

# To activate this environment, use
#
#     $ conda activate r4.4
#
# To deactivate an active environment, use
#
#     $ conda deactivate

进入R4.4环境

复制代码
conda activate r4.4

使用mamba代替condao安装R 4.4

复制代码
mamba install -y -c conda-forge r=4.4

按R进入R语言界面安装devtools

复制代码
install.packages("devtools")

每次首次运行会让选择源,我会选20

如果安装发现源比较慢或有些包下载不下来,可以通过命令调出界面重新选择

复制代码
chooseCRANmirror(graphics=FALSE)

安装经过一段时间出现如下报错

复制代码
ERROR: dependencies 'usethis', 'miniUI', 'pkgdown', 'rcmdcheck', 'roxygen2', 'rversions', 'urlchecker' are not available for package 'devtools'

Warning messages:
1: In install.packages("devtools") :
  installation of package 'httpuv' had non-zero exit status
2: In install.packages("devtools") :
  installation of package 'ragg' had non-zero exit status
3: In install.packages("devtools") :
  installation of package 'xml2' had non-zero exit status
4: In install.packages("devtools") :
  installation of package 'shiny' had non-zero exit status
5: In install.packages("devtools") :
  installation of package 'pkgdown' had non-zero exit status
6: In install.packages("devtools") :
  installation of package 'roxygen2' had non-zero exit status
7: In install.packages("devtools") :
  installation of package 'rversions' had non-zero exit status
8: In install.packages("devtools") :
  installation of package 'urlchecker' had non-zero exit status
9: In install.packages("devtools") :
  installation of package 'miniUI' had non-zero exit status
10: In install.packages("devtools") :
  installation of package 'devtools' had non-zero exit status

退出R,使用下面命令安装,提示缺什么包就安装r-xxx包。

复制代码
mamba install -y -c conda-forge r-usethis
mamba install -y r-httpuv
mamba install -y r-ragg
mamba install -y r-xml2
mamba install -y r-shiny
mamba install -y r-pkgdown
mamba install -y r-roxygen2
mamba install -y r-rversions
mamba install -y r-urlchecker
mamba install -y r-miniUI
R #进入R操作界面
install.packages("devtools")
更新R包
复制代码
install.packages("rvcheck")
rvcheck::update_all()

参考文档:Conda快速安装的解决方法(Mamba安装)_conda_TiYong-开放原子开发者工作坊

相关推荐
j_xxx404_22 分钟前
Linux:版本控制器Git(第一章)|历史|理解Git|相关git操作|提交冲突解决
linux·运维·git·ai
apihz25 分钟前
全球IP归属地查询免费API详细指南
android·服务器·网络·网络协议·tcp/ip
Robot侠33 分钟前
ROS1从入门到精通 1 :ROS1简介与环境搭建(Ubuntu 20.04 + Noetic完整指南)
linux·ubuntu·ros·机器人操作系统
java_logo43 分钟前
Supabase Postgres Docker 容器化部署指南
运维·docker·postgresql·容器·postgres部署教程·postgres部署文档·docker postgres
雨落秋垣1 小时前
五台腾讯云轻量服务器高可用架构方案(宝塔面板+宝塔WAF)
服务器·架构·腾讯云
纸带1 小时前
如何理解USB 配置描述符wTotalLength位运算深度
linux·网络·windows
落羽的落羽1 小时前
【C++】深入浅出“图”——图的遍历与最小生成树算法
linux·服务器·c++·人工智能·算法·机器学习·深度优先
爬山算法1 小时前
Netty(23)Netty的负载均衡和高可用性如何实现?
运维·负载均衡
极地星光1 小时前
VMware+Ubuntu+LVM 虚拟机存储扩容全流程(解决分区/空间不识别问题)
linux·运维·ubuntu
l1t1 小时前
利用docker在windows 11 wsl中安装oracle 12cR2
运维·windows·docker·oracle·容器