详解如何在ubuntu上安装node.js

第一步:安装依赖包

1. 安装python 2.6版或者更高(ubuntu默认都已安装,可以在terminal中使用 pyhton -v 命令查看python版本)。
2. 安装其他依赖包:

sudo apt-get install g++ curl libssl-dev apache2-utils

3. 安装git工具:

sudo apt-get install git-core

第二步:获取源码

git clone git://github.com/joyent/node.git
等待下载完成,大小为20+m。

第三步:指定编译版本,重要!

 

1.先进入存放下载源码的文件夹:

cd node

2. 指定迁出版本:

git checkout v0.4.10
这里非常重要,因为目前最新的node版本为0.5.5-pre,但是很多常用的包仅支持到0.4.10(比如express),所以如果使用最新版node的话,会导致npm无法下载相应的包。

3. 指定路径,编译执行:

mkdir ~/local
./configure –prefix=$HOME/local/node
make
make install
echo ‘export PATH=$HOME/local/node/bin:$PATH’ >> ~/.profile
echo ‘export NODE_PATH=$HOME/local/node:$HOME/local/node/lib/node_modules’ >> ~/.profile
source ~/.profile

第四步:设置环境变量

 

如果想重启后还能继续直接使用node命令,那么需要设置环境变量:
使用命令 sudo gedit /etc/profile 打开配置文件,在文件最后中添加如下两行:

export PATH=”$HOME/local/node/bin:$PATH”
export NODE_PATH=”$HOME/local/node:$HOME/local/node/lib/node_modules”
保存后重启系统使设置生效。

第五步:安装npm

curl http://npmjs.org/install.sh | sh

根据需要,安装相应的包,例如express:

npm install express

如果输入该命令后长时间没有反应,可以通过添加 -verbose参数查看执行的详细信息,即:

npm install express -verbose

一般情况下无法下载有两个原因:
1. 网速太慢,超时退出。
2. node的版本太新,当前下载的包不支持。(解决方法在第三步已说明。)

第六步:测试HelloWorld程序

 

将以下代码保存为一个hello.js的文件

var http = require('http');
  
http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('Hello Node.jsn');
}).listen(8124, "127.0.0.1");
  
console.log('Server running at http://127.0.0.1:8124/');

然后使用命令:

node hello.js

启动服务。
打开浏览器,输入地址:http://127.0.0.1:8124/
如果返回 Hello Node.jsn 则安装成功!

 

文章转载自:铁骑世界(http://cooleep.com/)

参考:http://www.cnblogs.com/cyStyle/p/nodejs.html

参考:http://www.cnblogs.com/AUOONG/archive/2012/11/05/2755099.html

$ sudo apt-get install g++ curl libssl-dev apache2-utils

$ sudo apt-get install python 

$ sudo apt-get install build-essential 

$ sudo apt-get install gcc 

$ sudo apt-get install g++
// 下载
$ wget http://nodejs.org/dist/v0.10.14.tar.gz

// 解压:
$ tar -zxf node-v0.10.14.tar.gz 
$ cd node-v0.10.14 

// 默认安装: (默认在home目录下)
$ ./configure 
$ make 
$ sudo make install 

//选择目录安装(将nodejs安装在/usr/local/node目录下)
$ ./configure –prefix=/usr/local/node 
$ make 
$ sudo make install

其中nodejs最新版为v0.10.15,可以从http://nodejs.org/dist/地址查看。

注意:安装方式最好选择自定义安装,最好还要配置环境变量,对于快速的默认安装,这种方式以后会出现一些问题,具体怎样大家可以给点意见

安装express

sudo npm install express -gd

#-g代表安装到NODE_PATH的lib里面,而-d代表把相依性套件也一起安装。如果沒有-g的话会安装目前所在的目录(会建立一个node_modules的文件夹),结果显示如下则安装成功:

express@3.0.1 /usr/local/lib/node_modules/express
├── methods@0.0.1
├── fresh@0.1.0
├── cookie-signature@0.0.1
├── range-parser@0.0.4
├── cookie@0.0.4
├── crc@0.2.0
├── commander@0.6.1
├── debug@0.7.0
├── mkdirp@0.3.3
├── send@0.1.0 (mime@1.2.6)
└── connect@2.6.2 (pause@0.0.1, bytes@0.1.0, formidable@1.0.11, qs@0.5.1)
npm info ok

测试express。

express app
cd app
node app.js

PS:网上很多教程直接让这样来测试,这样是运行不成功的,需要将安装的express复制过来一份。
进入app目录,然后将node_modules复制一份过来。

cp -r /usr/local/lib/node_modules ./

运行node app.js后提示监听3000端口。在地址栏输入http://127.0.0.1:3000即可访问。但是现在会报以下错误:

Express
Error: Cannot find module 'jade'

    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
    at Module.require (module.js:362:17)
    at require (module.js:378:17)
    at new View (/home/ly/Downloads/app/node_modules/express/lib/view.js:42:49)
    at Function.app.render (/home/ly/Downloads/app/node_modules/express/lib/application.js:487:12)
    at ServerResponse.res.render (/home/ly/Downloads/app/node_modules/express/lib/response.js:718:7)
    at exports.index (/home/ly/Downloads/app/routes/index.js:7:7)
    at callbacks (/home/ly/Downloads/app/node_modules/express/lib/router/index.js:162:37)
    at param (/home/ly/Downloads/app/node_modules/express/lib/router/index.js:136:11)

根据错误提示,我们来安装jade模块引擎。安装jade的方式与安装express一样。

sudo npm install -gd jade

运行结果如下则安装成功:

jade@0.27.6 /usr/local/lib/node_modules/jade
├── commander@0.6.1
└── mkdirp@0.3.4
npm info ok

重新将node_modules目录复制过来

cp -r /usr/local/lib/node_modules ./
node app.js

会再次看到以下提示:

Express server listening on port 3000

在地址栏重新刷新前面打开的站点。或者是直接再输入http://127.0.0.1:3000。