环境Ubuntu 14.04
配置Nodejs环境
下载nodejs source code(tar.gz)
1、去官网
http://nodejs.org/download/下载
再将tar包拷贝到linux中相应的目录下。注意,这里tar包很容易下载不完全,导致后面安装无法解压或者configure
如果linux联网,那么可直接在终端输入
- wget http://nodejs.org/dist/v0.10.29/node-v0.10.29.tar.gz
- tar -zxf node-v0.10.29.tar.gz
2、去github( https://github.com/joyent/node)下载压缩包,在windows下面解压,再拷贝到linux中
这里注意要更改一下文件的权限哦
- chmod -R 755 filename
- chown root filename
- chgrp root filename
安装Nodejs
切换为root用户,或者在输入下面命令时加上sudo
- ./configure
- make
- make install
- apt-get install g++ curl libssl-dev apache2-utils
- #ubuntu已经安装python 2.7.6
- apt-get install python
- apt-get install build-essential
- #已经安装gcc
- apt-get install gcc
- apt-get install g++
- #把当前软件源复制一下
- cp /etc/apt/sources.list /etc/apt/sources.list_backup
- #用gedit编辑器打开源
- gedit /etc/apt/sources.list
- deb http://mirrors.163.com/ubuntu/ trusty main restricted universe multiverse
- deb http://mirrors.163.com/ubuntu/ trusty-security main restricted universe multiverse
- deb http://mirrors.163.com/ubuntu/ trusty-updates main restricted universe multiverse
- deb http://mirrors.163.com/ubuntu/ trusty-proposed main restricted universe multiverse
- deb http://mirrors.163.com/ubuntu/ trusty-backports main restricted universe multiverse
- deb-src http://mirrors.163.com/ubuntu/ trusty main restricted universe multiverse
- deb-src http://mirrors.163.com/ubuntu/ trusty-security main restricted universe multiverse
- deb-src http://mirrors.163.com/ubuntu/ trusty-updates main restricted universe multiverse
- deb-src http://mirrors.163.com/ubuntu/ trusty-proposed main restricted universe multiverse
- deb-src http://mirrors.163.com/ubuntu/ trusty-backports main restricted universe multiverse
- apt-get update
- make
- make install
- node -v
由于程序成用到express和socket.io,所以一开始直接node index.js就会出现以下错误
<code style="margin:0px; padding:0px; border:0px; vertical-align:baseline; font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier New',monospace,serif; white-space:inherit"><span class="pln" style="margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent">module</span><span class="pun" style="margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent">.</span><span class="pln" style="margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent">js</span><span class="pun" style="margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent">:<span style="color:#800000;">56</span></span><span class="pln" style="margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent"> </span><span class="kwd" style="color:#008b;margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent">throw</span><span class="pln" style="margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent"> err</span><span class="pun" style="margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent">;</span><span class="pln" style="margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent"> </span><span class="typ" style="color:#2b91af;margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent">Error</span><span class="pun" style="margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent">:</span><span class="pln" style="margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent"> </span><span class="typ" style="color:#2b91af;margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent">Cannot</span><span class="pln" style="margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent"> find module </span><span class="str" style="color:#8000;margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent">'express'</span></code>解决办法
- npm install express
<code style="margin:0px; padding:0px; border:0px; vertical-align:baseline; font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier New',monospace,serif; white-space:inherit"><span class="pln" style="margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent">module</span><span class="pun" style="margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent">.</span><span class="pln" style="margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent">js</span><span class="pun" style="margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent">:</span><span class="lit" style="color:#8000;margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent">340</span><span class="pln" style="margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent"> </span><span class="kwd" style="color:#008b;margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent">throw</span><span class="pln" style="margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent"> err</span><span class="pun" style="margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent">;</span><span class="pln" style="margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent"> </span><span class="typ" style="color:#2b91af;margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent">Error</span><span class="pun" style="margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent">:</span><span class="pln" style="margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent"> </span><span class="typ" style="color:#2b91af;margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent">Cannot</span><span class="pln" style="margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent"> find module </span><span class="str" style="color:#8000;margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent">'socket.io'</span></code>这次我同样用npm install socket.io进行安装,不过错误并没有解决。参考 http://stackoverflow.com/questions/11266608/socket-io-error,成功解决
- rm -rf node_modules
- #Delete your currently installed modules
- npm cache clean
- #Delete your npm cache, (some errors are caused by this)
- #install express and socket.io
- npm install <module_name>
- <span style="white-space:pre"> </span>events.js:66
- <span style="white-space:pre"> </span>throw arguments[1]; // Unhandled 'error' event
- ^
- <span style="white-space:pre"> </span>Error: listen EADDRINUSE
- #查看监听端口id
- netstat -nap | grep node
- kill -9 id
参考文献
http://www.w3cschool.cc/nodejs/nodejs-install-setup.html