安装R 4.4.2适用于-ubuntu22
# Ubuntu 22.04 环境一键安装 R 4.4.2
提示
Ubuntu 22.04 默认自带 gcc 11,极适合直接源码编译 R 4.4.2,无需第三方 devtoolset! 建议所有依赖都用 apt 自动安装,避免编译中断和依赖遗漏。
系统环境 | Ubuntu 22.04 |
---|---|
推荐内存 | 2GB+(建议4G+) |
gcc版本 | >= 9(默认 gcc 11) |
R版本 | 4.4.2 |
依赖全部采用 apt 官方源,常见包名及含义如下:
依赖功能 | Ubuntu 22.04 包名 | 用途简述 |
---|---|---|
JPEG/PNG | libjpeg-dev, libpng-dev | 图像支持 |
TIFF | libtiff-dev | tiff 格式支持 |
Cairo | libcairo2-dev | 图形渲染 |
ICU | libicu-dev | 国际化/字符集 |
Tex/字体 | texlive-xetex, texlive-fonts-extra | Rmarkdown/报告/中文优化 |
其余依赖 | 见下方脚本包集合 |
# 安装脚本(直接复制运行)
#!/bin/bash
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# Author: JaneTTR
set -ex
echo "############## INSTALL R start #############"
# 定义变量
DOWNLOAD_DIR="/opt/modules" # 下载路径
URL="https://mirrors.tuna.tsinghua.edu.cn/CRAN/src/base/R-4/R-4.4.2.tar.gz"
TAR_FILE="${DOWNLOAD_DIR}/R-4.4.2.tar.gz" # 下载的完整路径
DIR_NAME="${DOWNLOAD_DIR}/R-4.4.2" # 解压后的目录
INSTALL_DIR="/usr/local/R-4.4.2" # 安装路径
# 创建下载目录(如果不存在)
if [ ! -d "$DOWNLOAD_DIR" ]; then
sudo mkdir -p "$DOWNLOAD_DIR"
sudo chown $(whoami):$(whoami) "$DOWNLOAD_DIR"
fi
# 检查R是否已经安装
if [ ! -d "$INSTALL_DIR" ]; then
# 更新系统并安装必要的依赖
sudo apt-get update
sudo apt-get install -y \
build-essential \
gfortran \
libreadline-dev \
libicu-dev \
libxt-dev \
libx11-dev \
libpng-dev \
libjpeg-dev \
libtiff-dev \
libcairo2-dev \
libpango1.0-dev \
libbz2-dev \
liblzma-dev \
libcurl4-openssl-dev \
libfreetype6-dev \
zlib1g-dev \
pkg-config \
texlive \
texlive-latex-base \
texlive-xetex \
texlive-latex-recommended \
texlive-latex-extra \
texlive-fonts-extra \
tidy
# 下载tar.gz文件,如果文件不存在
if [ ! -f "$TAR_FILE" ]; then
curl -o $TAR_FILE $URL
else
echo "$TAR_FILE 已存在,跳过下载。"
fi
# 解压文件,如果目录不存在
if [ ! -d "$DIR_NAME" ]; then
tar -zxvf $TAR_FILE -C $DOWNLOAD_DIR
else
echo "$DIR_NAME 已存在,跳过解压缩。"
fi
# 进入解压后的目录并安装
cd $DIR_NAME
# 配置、编译和安装
./configure --prefix=$INSTALL_DIR
make
sudo make install
# 清理解压的文件(可选)
cd ..
rm -rf $DIR_NAME
else
echo "R 已安装在 $INSTALL_DIR,跳过编译。"
fi
# 检查系统路径是否已包含R安装路径,如果没有则添加到/etc/profile
if ! grep -q "R_HOME" /etc/profile; then
echo "export R_HOME=$INSTALL_DIR" | sudo tee -a /etc/profile
echo 'export PATH=$R_HOME/bin:$PATH' | sudo tee -a /etc/profile
else
echo "系统路径已包含R安装路径,跳过添加。"
fi
source /etc/profile
hash -r
# 验证安装
R --version
echo "############## INSTALL R end #############"
echo "############## SETUP R_ENV start #############"
# 安装所需的 R 包,处理依赖包问题
REQUIRED_PACKAGES=("knitr" "rmarkdown" "devtools" "e1071" "survival" "httr2" "gh" "htmlwidgets" "usethis" "pkgdown" "profvis" "roxygen2" "testthat")
CRAN_MIRRORS="c('https://mirrors.tuna.tsinghua.edu.cn/CRAN/', 'https://mirrors.ustc.edu.cn/CRAN/', 'https://mirrors.aliyun.com/CRAN/')"
for package in "${REQUIRED_PACKAGES[@]}"; do
Rscript -e "options(repos = $CRAN_MIRRORS); if (!requireNamespace('$package', quietly = TRUE)) tryCatch(install.packages('$package'), error = function(e) { cat('Error installing package:', '$package', '\n') })"
done
echo "所需的 R 包已安装完成。"
echo "############## SETUP R_ENV end #############"
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
# 常见问题与补充说明
注意
依赖无法自动拉取/编译报错? 建议确保 apt 源健康,如在内网或无法联网场景,建议提前下载源码包及全部依赖包到本地,避免 build 失败。
- gcc 版本:Ubuntu 22.04 默认已足够,无需再安装 devtoolset。
- TeX/字体:Rmarkdown 或中文报告必装
texlive-xetex
和texlive-fonts-extra
,否则导出/渲染易异常。 - 包管理/镜像:R 包安装已内置清华、USTC、阿里云三大 CRAN 国内镜像兜底,包下载速度更快、更稳定。
提示
脚本中的 /etc/profile
自动追加 R_HOME 和 PATH,支持多用户环境,一键生效,无需手动补充环境变量。
- 01
- bigtop-select 打包缺 compat 报错修复 deb07-16
- 02
- bigtop-select 打包缺 control 文件报错修复 deb07-16
- 03
- 首次编译-环境初始化 必装07-16