快速搭建一套环境的记录,节省折腾的时间,可以配合 quickstart 食用

Python 环境

可以直接使用 pipenv 这种工具. 也可以自己编译安装

安装编译需要的环境

1
sudo apt install -y gcc make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev
1
2
sudo yum install -y gcc make libffi-devel openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel zlib-devel
# 新版本的RHEL可能没有gdbm-devel这个包了

下载源码并编译

1
2
3
4
5
6
7
8
cd /tmp/
mkdir ${HOME}/opt/
wget https://www.python.org/ftp/python/3.8.20/Python-3.8.20.tgz
tar xf Python-3.8.20.tgz
cd Python-3.8.20
./configure --prefix=${HOME}/opt/Python-3.8.20
make
make install

添加到 PATH 环境变量 (可选)

1
2
3
4
5
6
7
tee -a ${HOME}/.bashrc <<-EOF

# Python 环境
export PATH=\$PATH:${HOME}/opt/Python-3.8.20/bin
EOF

source ${HOME}/.bashrc
1
2
3
4
5
6
7
cd /tmp/
wget https://www.python.org/ftp/python/3.8.20/Python-3.8.20.tgz
tar xf Python-3.8.20.tgz
cd Python-3.8.20
./configure --prefix=/opt/Python-3.8.20
make
sudo make install

添加到 PATH 环境变量 (可选)

1
2
3
4
5
6
7
sudo tee -a /etc/profile <<-'EOF'

# Python 环境
export PATH=$PATH:/opt/Python-3.8.20/bin
EOF

source /etc/profile

增加 –enable-optimizations 参数速度编译速度会非常慢, 但是会优化 python 运行的性能。

配置国内源

1
pip config set global.index-url https://mirrors.ustc.edu.cn/pypi/web/simple

java 环境

官方网站:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 下载解压,创建软连接
wget https://file.babudiu.com/f/w0ty/jdk-8u351-linux-x64.tar.gz
tar xf jdk-8u351-linux-x64.tar.gz -C /usr/local/
ln -sf /usr/local/jdk1.8.0_351/ /usr/local/java

# 配置环境变量
cat >> /etc/profile <<-'EOF'
# JAVA环境变量
export JAVA_HOME=/usr/local/java
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib:.
export PATH=$PATH:$JAVA_HOME/bin
EOF

# 使变量生效
source /etc/profile

golang 环境

1
2
3
4
5
6
7
8
9
10
11
12
13
14
wget https://dl.google.com/go/go1.21.1.linux-amd64.tar.gz

rm -rf ~/opt/go && mkdir -p ~/opt/
tar -C ~/opt/ -xzf go1.21.1.linux-amd64.tar.gz

# 配置环境变量
tee -a ~/.profile <<-'EOF'

# golang 环境
export PATH=$PATH:~/opt/go/bin

EOF

source ~/.profile

Docker

docker.io

如果你不介意版本问题,可以使用发行版源里的 docker.io ,安装很简单:

1
2
3
4
5
# Ubuntu
sudo apt install docker.io

# CentOS
sudo yum install docker.io

Docker-CE

Docker-CE 是官方社区版,一般更新比较及时

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
curl -fsSL get.docker.com | bash

# 修改一些配置
sudo mkdir -p /etc/docker && sudo tee /etc/docker/daemon.json <<-'EOF'
{
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
},
"storage-driver": "overlay2",
"registry-mirrors": [
"https://hub-mirror.c.163.com",
"https://mirror.baidubce.com",
"https://go38p9zi.mirror.aliyuncs.com"
]
}
EOF

# 当前用户执行docker命令,需要注销用户
sudo usermod -aG docker $USER

nodejs

我个人更建议把 nodejs 安装在 Home 目录下, 原因如下:

  1. 环境隔离, Linux 如果有多个用户, 不会影响到其他用户的环境
  2. 安装包不需要使用 root 权限, 也不会有一些奇奇怪怪的权限问题
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 设置安装的版本
export NODE_VERSION="v20.17.0"

# 下载安装包
wget "https://npmmirror.com/mirrors/node/${NODE_VERSION}/node-${NODE_VERSION}-linux-x64.tar.xz"


# 创建目录
mkdir ~/opt


# 解压
tar xf "node-${NODE_VERSION}-linux-x64.tar.xz" -C ~/opt


# 添加到PATH环境变量
echo "export PATH=\$PATH:/home/iuxt/opt/node-${NODE_VERSION}-linux-x64/bin" >> ~/.profile

常用命令速查

作用 命令
查看可执行文件的位置 npm bin
查看全局包的位置 npm bin --location=global
安装指定包到./node_modules npm i xxx
安装指定包到./node_modules 并记录在 package.json 文件中 npm i xxx --save
全局安装包 npm i xxx -g 或者 npm i xxx --location=global (新版 nodejs)
安装 package.json 中定义的包 npm i