人人都会AI编程

Node.js、Python、Go 环境部署

更新时间:2026-07-12

在 Linux 服务器或开发机上搭建编程语言运行环境,是日常工作中最基础也最频繁的操作。下面介绍这三种语言在 Linux 下的主流部署方式,以兼顾稳定、灵活和易于切换版本为核心目标。


1. Node.js 环境部署

推荐方式:使用 nvm(Node Version Manager)
nvm 允许你在同一台机器上安装多个 Node.js 版本,并随时切换,且完全安装在你自己的家目录下,不需要 root 权限。

# 安装 nvm(需先安装 curl)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

# 重启终端或执行以下命令使 nvm 生效
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"

# 安装最新的 LTS 版本
nvm install --lts

# 或者安装特定版本
nvm install 20

# 查看已安装的版本
nvm ls

# 切换使用的版本
nvm use 20

备选:使用系统包管理器(快速但版本可能较旧)

# Debian/Ubuntu
sudo apt update && sudo apt install nodejs npm

# RHEL/CentOS/Fedora
sudo dnf install nodejs npm   # 或 yum

如果通过包管理器安装的版本不够新,可以再结合 nvm 覆盖一个更新的版本。

验证安装:

node -v
npm -v

2. Python 环境部署

现代 Linux 发行版一般已预装 Python 3,但版本可能较旧或你希望隔离项目依赖。推荐组合:系统 Python + pyenv + 虚拟环境

使用 pyenv 管理多版本 Python
pyenv 可以无缝安装和切换不同 Python 版本,无需触及系统自带的 Python(移除或替换系统 Python 可能导致系统工具故障)。

# 安装依赖(以 Debian/Ubuntu 为例)
sudo apt update
sudo apt install -y make build-essential libssl-dev zlib1g-dev \
  libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm \
  libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev

# 安装 pyenv
curl https://pyenv.run | bash

# 将以下内容添加到 ~/.bashrc 或 ~/.zshrc
export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init -)"

# 重启终端或 source 配置文件后,安装需要的 Python 版本
pyenv install 3.12.2

# 设置全局默认版本(不影响系统 Python)
pyenv global 3.12.2

创建项目级虚拟环境
不要将项目包直接安装在系统或用户全局环境中。使用 venv 为每个项目创建独立环境:

# 在项目目录下
python -m venv venv

# 激活虚环境
source venv/bin/activate

# 现在安装的包仅限于此项目
pip install flask requests

# 退出虚环境
deactivate

搭配 pip freeze > requirements.txtpip install -r requirements.txt 来复现环境。

验证版本:

python --version
pip --version

3. Go 环境部署

Go 语言官方推荐直接下载预编译的二进制包进行安装,这样能始终获得最新或特定版本,并且安装路径清晰,升级方便。

从官方下载并安装(推荐)

  1. 访问 https://go.dev/dl/,复制最新 Linux 版本的下载链接,或使用如下命令(以 1.22.0 为例,请根据实际需求替换版本号):
wget https://go.dev/dl/go1.22.0.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.22.0.linux-amd64.tar.gz
  1. 配置环境变量,在 ~/.bashrc~/.zshrc 中添加:
export PATH=$PATH:/usr/local/go/bin
# 设置 GOPATH(用于存放第三方源码和编译后的包,通常指向家目录下的 go)
export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin
  1. 立即生效:source ~/.bashrc

验证安装与构建第一个程序:

go version

# 创建经典的 Hello World
mkdir hello && cd hello
go mod init example/hello
echo 'package main; import "fmt"; func main() { fmt.Println("Hello, Go!") }' > hello.go
go run hello.go

国内用户加速代理(可选)
如果下载 Go 模块慢,可设置国内代理:

go env -w GOPROXY=https://goproxy.cn,direct

使用包管理器安装(备选)

# Debian/Ubuntu
sudo apt install golang-go

# RHEL/Fedora
sudo dnf install golang

但版本可能落后于官方最新版,适用于快速体验或不需要最新特性的简单项目。


部署最佳实践

  • 尽量不污染系统 Python:永远使用虚拟环境或用户级安装(pip install --user),避免用 sudo pip install
  • 版本管理器优先:对 Node.js 和 Python 而言,nvm 和 pyenv 让版本切换和环境复制变得极其简单,尤其适合一台机器上需要运行多个项目的场景。
  • 环境变量与 PATH:清晰管理 PATH 中不同运行时的顺序,避免因 PATH 混乱导致调用到错误版本。可以用 which node, which python, which go 确认实际执行的路径。
  • 自动化脚本:将上述安装步骤写成脚本(或使用 Ansible、Dockerfile),确保开发、测试、生产环境的一致性。

通过这些方式,你能在 Linux 上快速构建出可靠、可复现的开发与生产运行环境。