# Python 与 Node.js 环境配置

URL: https://caijiao.org/rockylinux/dev-env
Source: docs/rockylinux/dev-env.md
Description: 在 Rocky Linux 中安装与管理 Python、pip、Node.js 与 npm 环境，涵盖多版本管理、全局模块安装、国内源配置等实用技巧。

在 Rocky Linux 上，Python 与 Node.js 是最常用的开发语言环境。  
本文介绍如何在系统中正确安装、配置并优化这两种开发环境。

## 一、Python 环境配置

### 1. 检查系统自带版本

Rocky Linux 默认已安装 Python（通常是 3.x 版本）：

```bash
python3 --version
```

如果系统未安装或版本较旧，可以手动安装最新版本。

### 2. 安装 Python

```bash
sudo dnf install -y python3 python3-pip
```

### 3. 创建软链接（可选）

```bash
sudo ln -s /usr/bin/python3 /usr/bin/python
sudo ln -s /usr/bin/pip3 /usr/bin/pip
```

验证安装：

```bash
python --version
pip --version
```

### 4. 安装常用包与虚拟环境工具

```bash
pip install --upgrade pip setuptools wheel
pip install virtualenv
```

创建虚拟环境：

```bash
mkdir myproject && cd myproject
python -m venv venv
source venv/bin/activate
```

退出虚拟环境：

```bash
deactivate
```

### 5. 配置国内镜像源（加速下载）

```bash
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
```

或手动编辑 `~/.pip/pip.conf`：

```ini
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
```

## 二、Node.js 环境配置

### 1. 安装 Node.js

Node.js 可通过 Rocky 官方仓库或 NodeSource 仓库安装。
建议使用 NodeSource 获取最新版本。

添加 NodeSource 仓库（以 Node 20 为例）：

```bash
curl -fsSL https://rpm.nodesource.com/setup_20.x | sudo bash -
sudo dnf install -y nodejs
```

验证安装：

```bash
node -v
npm -v
```

### 2. 使用 nvm 管理多版本 Node.js

`nvm`（Node Version Manager）可以轻松切换不同 Node.js 版本。

#### 安装 nvm

```bash
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash
```

加载环境变量：

```bash
source ~/.bashrc
```

#### 使用示例

```bash
nvm ls-remote          # 查看可用版本
nvm install 20.19.0    # 安装指定版本
nvm use 20.19.0        # 切换版本
nvm alias default 20.19.0
```

#### 验证

```bash
node -v
```

### 3. 配置 npm 国内镜像

为提升 npm 包下载速度，可使用淘宝镜像：

```bash
npm config set registry https://registry.npmmirror.com
```

查看当前镜像：

```bash
npm config get registry
```

### 4. 全局包与项目环境

全局安装常用工具：

```bash
npm install -g pnpm yarn typescript
```

创建项目并初始化：

```bash
mkdir mynodeapp && cd mynodeapp
npm init -y
npm install express
```

运行项目：

```bash
node app.js
```

## 三、开发环境建议

| 工具         | 用途                | 推荐命令                |
| ------------ | ------------------- | ----------------------- |
| `virtualenv` | Python 虚拟环境     | `python -m venv venv`   |
| `nvm`        | Node.js 版本管理    | `nvm install <version>` |
| `pip`        | Python 包管理       | `pip install <package>` |
| `pnpm`       | Node 包管理替代方案 | `pnpm install`          |

## 四、常见问题排查

| 问题                     | 解决方法                         |
| ------------------------ | -------------------------------- |
| `pip: command not found` | 安装 `python3-pip` 或添加到 PATH |
| `nvm: command not found` | 重新加载 `source ~/.bashrc`      |
| npm 下载慢或超时         | 设置淘宝镜像源或使用 `pnpm`      |
| Node 版本过旧            | 使用 `nvm` 安装新版本            |

## 五、总结

- Rocky Linux 可直接支持 Python 与 Node.js 的现代开发环境。
- 使用 `virtualenv` 与 `nvm` 可以避免版本冲突。
- 配置国内镜像源可大幅提高依赖安装速度。
- 对前后端混合项目，推荐使用 `pnpm` 或 `yarn` 管理依赖。

> 💡 提示：生产服务器中可将 Node.js 与 Python 服务容器化部署（参考 [Docker 容器环境](/rockylinux/docker-setup)）。
