使用Shell脚本自动化搭建Ubuntu Node.js开发环境
本文介绍如何在Ubuntu系统中利用Shell脚本自动化搭建Node.js开发环境。脚本自动执行系统更新,安装Git、构建工具及依赖库,编译安装Node.js与NPM,并配置Forever、Cloud9 IDE及MongoDB。通过简单的命令执行脚本,可快速完成开发环境的初始化与测试验证。
Ubuntu Node.js 环境自动化搭建指南
Node.js 目前应用广泛,此前虽有过尝试但未做详细记录。本文旨在介绍在 Ubuntu 系统中搭建 Node.js 开发环境的快捷方式。通过编写一段 Shell 脚本,系统可自动完成所需组件的安装,包括:从 Git 获取最新版本的 Node.js、Node 包管理器(NPM)、Forever 进程管理工具(可选)、Cloud9 IDE 工具(可选)以及 MongoDB 10gen。需要注意的是,该脚本依赖于较新版本的 Ubuntu 系统,且必须保持网络连接,以便自动下载并顺序安装所有依赖包。
1. 脚本代码:
代码如下:
#!/bin/sh
echo 'System Update'
apt-get update
echo 'Update completed'
apt-get install libssl-dev git-core pkg-config build-essential curl
echo 'Clone Node.js'
cd /usr/src
git clone https://github.com/joyent/node
echo 'Node.js clone completed'
echo 'Install Node.js'
cd node
./configure && make && make install
echo 'Node.js install completed'
echo 'Install Node Package Manager'
curl http://npmjs.org/install.sh | sh
echo 'NPM install completed'
echo 'Install Forever'
npm install forever
echo 'Forever install completed'
echo 'Install Cloud9IDE'
git clone git://github.com/ajaxorg/cloud9.git
echo 'Cloud9IDE install completed'
echo 'Install MongoDB'
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10
echo "deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen" >> /etc/apt/sources.list
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10
sudo apt-get update
sudo apt-get install mongodb-10gen
echo 'MongoDB install completed.'
脚本保存与执行步骤
2. 保存脚本到文件:
代码如下:
$ cd ~/
$ nano -w node.sh将上述代码粘贴至 node.sh 文件中,按 Ctrl+O 保存,Ctrl+X 退出 nano 编辑器。若系统中未安装 nano,请自行通过 Google 搜索安装方法。
3. 执行脚本:
代码如下:
$ chmod a+x node.sh && sudo ./node.sh安装完成后,运行 node -v 命令查看 Node.js 版本,以确认安装是否成功。
本地测试验证
4. 建立测试:
代码如下:
mkdir node_project
cd node_project
nano -w server.js以下是经典的 Node.js 服务器示例代码:
代码如下:
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
}).listen(1337, "127.0.0.1");
console.log('Server running at http://127.0.0.1:1337/');
运行代码:node server.js
在浏览器中访问:http://127.0.0.1:1337
Java和JavaScript名字像但没关系?详解两者及HTML的技术分工
2026-11-03 20:24:10
Node.js 中 CommonJS 与 ES Modules 模块规范的区别及使用
2026-11-03 15:35:13
先学JS还是先学Java?全栈开发视角的学习路径规划
2026-11-03 13:35:26
解决Node.js安装后提示“node不是内部或外部命令”
2026-11-03 08:39:43
生产环境升级 Node.js 的风险评估与 LTS 版本选择
2026-11-02 10:30:14
