详解如何在linuxmint上用源码包安装nodejs
第一步:安装依赖包
因为Linuxmint 和 Ubuntu 同属 Debian系的Linux,而且Linuxmint是建立在Ubuntu的基础上的,所以Ubuntu下的命令和包,Linuxmint同样适用。
1. 安装python 2.6版或者更高(linuxmint默认都已安装,可以在terminal中使用 pyhton -v 命令查看python版本)。
2. 安装其他依赖包: (具体需要什么依赖可以去git上去找,https://github.com/lookphp/node)
Prerequisites:
gcc
andg++
4.8 or newer, orclang
andclang++
3.4 or newer- Python 2.6 or 2.7
- GNU Make 3.81 or newer
- libexecinfo (FreeBSD and OpenBSD only)
sudo apt-get install g++ clang curl libssl-dev apache2-utils
sudo apt-get install git-core
第二步:获取源码(我是去官网下载的源码,如下)
去github上克隆:git clone git://github.com/joyent/node.git
如果对github不熟悉,可以去官网下载:
wget http://nodejs.org/dist/v0.6.14/node-<版本号>.tar.gz
第三步:指定编译版本,重要!
git版: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
wget官网版:
如果是在官网下载的源码就不用那么麻烦指定版本了,因为你就一个包如v4.2.1
解压源码包:
tar zxvf node-<版本号>.tar.gz
进入解压目录
cd node-<版本号>
执行./configure --prefix=$HOME<你的用户名目录>/<你创建的文件夹>/node 制定编译路径
./configure --prefix=$HOME/local/node make //make的时间根据电脑的配置和安装需要,时间不同,执行完make,之后需要的就是等待~等待~,千万别再乱动其他了 sudo 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
安装完成后,验证是否安装成功,输入node –v
安装npm
curl http://npmjs.org/install.sh | sh
不过好像新版本的nodejs自带npm,输入
npm –v
npm install express
如果输入该命令后长时间没有反应,可以通过添加 -verbose参数查看执行的详细信息,即:
npm install express -verbose
一般情况下无法下载有两个原因:
1. 网速太慢,超时退出。
2. node的版本太新,当前下载的包不支持。(解决方法在第三步已说明。)
如果输入该命令后长时间没有反应,可以通过添加 -verbose参数查看执行的详细信息,即:
npm install express -verbose
一般情况下无法下载有两个原因:
1. 网速太慢,超时退出。
2. node的版本太新,当前下载的包不支持。(解决方法在第三步已说明。)
第六步:测试HelloWorld程序
将以下代码保存为一个hello.js的文件var http = require('http'); var server = http.createServer(); // 为request事件绑定处理函数 // 也可以使用server.addListener server.on('request', function(req, res){ res.writeHead(200,{'Content-Type':'text/plain'}); res.write('hello world'); console.log('hello world'); res.end(); }); server.listen(1337,'127.0.0.1'); console.log('Server running at http://127.0.0.1:1337/');
php是世界上最好的编程语言,没有之一