在Linux虚拟机中搭建node.js开发环境,核心目标是获得一个隔离、可重复且接近生产条件的运行时。下面以Ubuntu系虚拟机为例,说明从系统准备到运行第一个服务的完整过程。

一、准备Linux虚拟机系统
首先确保虚拟机已安装好Ubuntu或Debian类系统,并且当前用户具备sudo权限。先更新软件源并安装常用工具:
sudo apt update sudo apt upgrade -y sudo apt install -y curl wget git build-essential
上述命令中,build-essential提供了编译原生模块所需的gcc和make环境,后续若安装带原生插件的npm包会用到。
二、安装node.js与npm
推荐使用NodeSource提供的官方仓库安装,版本较新且管理方便。以下示例安装Node.js 20.x:
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash - sudo apt install -y nodejs
安装完成后,使用如下命令验证:
node -v npm -v
若正确输出版本号,说明node.js运行时和npm包管理器已就绪。
三、配置npm国内镜像加速
在部分网络环境下,直接访问npm官方源较慢。可将registry指向国内镜像:
npm config set registry https://registry.npmmirror.com npm config get registry
这样后续执行npm install时会明显提升下载速度。
四、创建并运行一个测试项目
建立一个最简HTTP服务,确认开发环境可正常编写和运行代码:
// 引入http模块创建基础服务
const http = require('http');
const server = http.createServer((req, res) => {
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.end('Hello from Linux VM node.jsn');
});
// 监听虚拟机内部3000端口
server.listen(3000, '0.0.0.0', () => {
console.log('Server running at http://127.0.0.1:3000/');
});
将以上代码保存为app.js,在虚拟机中执行:
node app.js
然后在虚拟机内或端口映射后的宿主浏览器访问 http://127.0.0.1:3000/ 即可看到返回文本。
五、环境变量与多版本管理建议
若需在同一虚拟机切换多个node.js版本,可安装nvm工具:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash source ~/.bashrc nvm install 18 nvm use 18
使用nvm时,node命令路径由环境变量自动接管,避免手动修改PATH。注意在写代码调用函数时,例如http.createServer()是函数调用,不是标签形式的元素。
常见问题小结
- 端口无法访问:检查虚拟机网络是否为桥接或做了端口转发。
- npm权限错误:避免使用sudo装全局包,可配置npm prefix到用户目录。
- 原生模块编译失败:确认已安装build-essential再重试npm install。
按照上述流程,就能在Linux虚拟机中搭建出稳定可用的node.js开发环境,满足日常编码与调试需求。