nodeJS火的不行鸟,早就想安装下试试,对于Ubuntu系统是很容易的,可是自从电脑重装了win7系统,就没ubuntu系统了,今天试用了用cygwin安装nodejs。具体过程如下:
安装cygwin
cygwin是一个在windows平台上运行的unix模拟环境,是cygnus solutions公司开发的自由软件。下载地址是:http://cygwin.com/setup.exe。
安装cygwin几个要点
(1)Install from Internet,安装程序在后面步骤会下载大量文件。 (2)Root Directory,是Cygwin的安装目录。 (3)Local Package Directory,是存放所有下载文件的目录,子目录名即下载镜像网址,子目录下的release目录存放的就是所下载的包。 (4)选择连接方式:可以直接连接(Direct Connection),也可以使用代理(Proxy)。 (5)下载镜像站点推荐: http://mirrors.163.com/cygwin http://mirrors.sohu.com/cygwin/ 也可以获得官方镜像列表后自己验证,http://cygwin.com/mirrors.lst
(6)首次安装提示信息,OK忽略,但如果安装过cygwin 1.7以下版本,参考: http://cygwin.com/cygwin-ug-net/ov-new1.7.html (7)建议第一次安装是默认的安装项,第二次在选择nodejs的所需包。
(8)选择包。Default所选包的缺省安装项,Install所选包的全部项,Reinstall断点续传,Uninstall卸载。推荐Install方式。 nodejs所需包:
Devel(开发)目录下的包:
gcc-g++: C++ compiler gcc-mingw-g++: Mingw32 support headers and libraries for GCC C++ gcc4-g++: G++ subpackage git: Fast Version Control System – core files(它可以从 github 下载软件最新版源码) make: The GNU version of the ‘make’ utility openssl-devel: The OpenSSL development environment pkg-config: A utility used to retrieve information about installed libraries zlib-devel: The zlib compression/decompression library (development) Editor目录下的包: vim: Vi IMproved – enhanced vi editor Python目录下的包:全部Install方式安装 Web目录下的包: wget: Utility to retrieve files from the WWW via HTTP and FTP curl: Multi-protocol file transfer command-line tool,
选完包,Next,如果所选软件包有依赖包,Next确认。 (8)一般情况下,下载所需时间真的很久。下载进度如果出现停滞,取消后重启setup.exe,所有设置同前一次,一直Next到选包部分,Reinstall,已下载过的包会做md5校验码检测,完整下载过的不会再次下载。下载完后进入自动安装,Cygwin安装目录下的bin、lib、usr这3个目录的内容会迅速增长。 本人安装的是过程中重试了n次,都卡在gcc上,最后睡觉去了,第二天一看竟然安装好了。
Windows 7(windows Vista) 安装nodeJS的特殊步骤
Windows 7(Windows Vista及以后版本),要正常编译nodejs,必须先在Cywgin的ASH模式下执行rebaseall。步骤如下: (1)cmd命令行 (2)进入cygwin安装目录下的bin子目录 (3)运行ash进入shell模式 (4)./rebaseall -v (5)没有错误,完成,exit退出ash,关闭命令行窗口
rebaseall时出现错误的解决方案
(1)rebaseall:’/cygdrive/c/Users/ADMINI~1/AppData/Local/Temp’ is not writable 启动cygwin安装目录下的cygwin.bat进入终端后:
$cd / $chmod 777 cygdrive/c/Users/ADMINI~1/AppData/Local/Temp
关闭退出终端 (2)FixImage (/usr/x86_64-w64-mingw32/sys-root/mingw/bin/libgcc_s_sjlj-1.dll) faile, with last error = 13 修改cygwin安装目录下bin子目录下的rebaseall文件,110行增加下列代码:
-e ‘/\/sys-root\/mingw\/bin/d’
修改后的110行如下:
sed -e ‘/\/sys-root\/mingw\/bin/d’ -e ‘/cygwin1\.dll$/d’ -e ‘/cyglsa.*\.dll$/d’ -e ’s/^/\//’ >”$TmpFile”
修改后保存,重新./rebaseall -v
使用cygwin安装nodejs
下载安装nodejs
首先使用wget下载最新版的nodeJS,例如: $ wget http://nodejs.org/dist/node-v0.4.12.tar.gz 解压,编译安装:
$ tar xf node-v0.4.12.tar.gz $ cd node-v0.4.12 $ ./configure $ make $ make install
配置nodejsDNS
cygwin内部是使用windows的DNS查询,而nodejs另外使用的是c-ares库来解析DNS,这个库会读取/etc/resolv.conf里的nameserver配置,而默认是没有这个文件的,需要自己建立并配置好DNS服务器的IP地址,这里使用Google Public DNS服务器的IP地址:8.8.8.8和8.8.4.4。
$ vi /ect/resolv.conf
nameserver 8.8.8.8
nameserver 8.8.4.4
写个hello world
(1)查看nodejs的版本信息: $node -v 或者–version (2)编写一个简单的js文件测试nodejs的Http Server,我这里的存放路径为cygwin安装目录下里的home/Administrator/node-v0.4.12/test.js,UTF-8编码保存js文件。代码用记事本编写的,内容如下:
var http = require('http'),port = 8888;
http.createServer(function(request,response){
response.writeHead(200,{'Content-Type':'text/html;charset=utf-8;'});
response.end('<h1>hello world</h1><p>里是NodeJS的世界!</p>');
}).listen(port);
console.log('服务已启动 http://127.0.0.1:'+port+'/');
(3)测试
$ node test.js
服务已启动 http://127.0.0.1:8888/ 浏览器打开http://127.0.0.1:8888/,输出页面内容:hello world,这里是NodeJS的世界!
test.js如有更改,CTRL+C停止Http Server,然后重新开启,$ node test.js
npm下载、安装、使用
npm是nodejs的软件包管理器,可以用它安装所需软件包并发布自己为nodejs写的软件包,它还管理软件包的依赖关系并做了其它一些很酷的事情。 (1)一行命令下载并安装npm
$ curl http://npmjs.org/install.sh | sh
(2)npm安装node扩展包,同样是一行命令下载并安装好软件包
$ npm install <包名>
例如安装mysql:npm install mysql
(编辑:ASP站长网)
|