快速搭建一套环境的记录,节省折腾的时间,可以配合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}/app/
wget https://www.python.org/ftp/python/3.7.17/Python-3.7.17.tgz
tar xf Python-3.7.17.tgz
cd Python-3.7.17
./configure --prefix=${HOME}/app/Python-3.7.17
make
make install

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

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

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

source ${HOME}/.bashrc
1
2
3
4
5
6
7
cd /tmp/
wget https://www.python.org/ftp/python/3.7.7/Python-3.7.7.tgz
tar xf Python-3.7.7.tgz
cd Python-3.7.7
./configure --prefix=/opt/Python-3.7.7
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.7.7/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/8QCY/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 ~/app/go && mkdir -p ~/app/
tar -C ~/app/ -xzf go1.21.1.linux-amd64.tar.gz

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

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

EOF

source ~/.profile

Docker

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="v18.18.0"

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


# 创建目录
mkdir ~/app


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


# 添加到PATH环境变量
echo "export PATH=\$PATH:/home/iuxt/app/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