非稳定版不仅功能上不稳定,而且API也有可能在后续版本中改变,稳定版中已发布的API是不会修改的。对于每个稳定分支,新的补丁不仅包含bug修复,也包括非稳定版中API的修改。
除非你想测试下最新非稳定版中的新特性,否则你应该选择最新的稳定版本。非稳定版本对Node核心团队来说就像用来测试新特性的战场。
虽然,越来越多的项目和公司成功的在他们的产品中使用了Node(官网首页有展示),但是你可能得学着忍受API从非稳定版到稳定版时发生的变化,当然,这就是学习一门新技术的代价。
下载Node源代码
现在你知道该下载哪个版本了,然后到官方网站找到对应的tar包,然后复制下载链接,如果你使用的UNIX系统,你的系统可能已经安装了wget,这意味着你用一句shell命令就可以下载了:
复制代码 代码如下:
$ wget
如果你没安装wget,你可能需要使用curl:
复制代码 代码如下:
$ curl –O
如果你这两个工具都没有安装,你得想别的办法把tar包下载到你的本地目录里——比如通过浏览器或者通过本地网络。
(本书的例子使用写作时的最新的稳定版:0.6.12)
构建Node
现在我们有源码了,可以用它来构建Node的可执行文件。首先,你需要解压缩前面下载的tar包:
复制代码 代码如下:
$ tar xfz node-v0.6.12.tar.gz
然后进入源码目录:
复制代码 代码如下:
$ cd node-v0.6.12
配置:
复制代码 代码如下:
$ ./configure
顺利的话你会看到成功的提示:
复制代码 代码如下:
'configure' finished successfully (9.278s)
然后就可以开始编译了:
复制代码 代码如下:
$ make
编译完毕,会有如下提示:
复制代码 代码如下:
build' finished successfully (0.734s)
安装Node
当构建成,用下面的命令来安装Node:
复制代码 代码如下:
$ make install
这个操作会把Node可执行文件复制到/user/local/bin/node
如果遇到了权限问题,在命令前面加上sudo,以root用户执行即可:
复制代码 代码如下:
$ sudo make install
运行Node
现在已经可以运行Node了,你可以先简单的体验一下Node的命令行交互界面(CLI:command-line interface),只需要调用Node可执行文件就行:
复制代码 代码如下:
$ node
这个操作会启动Node的命令行交互界面,并等待你的输入,输入下面的命令来让Node做点事看看:
复制代码 代码如下:
> console.log('Hello World!');
Hello World!
> undefined
也可以运行一个JavaScript脚本文件,比如,你创建了一个叫hello_world.js的文件,并包含以下内容:
复制代码 代码如下:
console.log('Hello World!');
然后用这个脚本的文件名作为第一个参数参数来调用Node可执行文件:
复制代码 代码如下:
$ node hello_world.js
Hello World!
最后,用Ctrl+D或者Ctrl+C来退出Node命令行交互界面。
准备和使用Node包管理器
到目前为止,你只能使用Node本身的语言特性和核心函数,这就是为什么大多数程序平台都有一个用来下载、安装,管理第三方模块的系统,在Node里,我们使用Node包管理器(NPM: Node Package Manager)
NPM包含三部分:一个用来存放第三方包的代码库,一个管理本地已经安装包的机制,一个用来定义包依赖关系的标准。NPM提供了一个公共的注册服务,它包含了大家发布的所有包,并提供了一个命令行工具,用来下载,安装和管理这些包。你可以按照Node的包格式标准来制定你的包或者应用需要依赖的其他第三方包。
虽然不用了解NPM就可以开始使用Node,但是如果要用第三方包你就必须要学习它了,因为Node本身只提供了一些低层的API,使用第三方模块可以大幅减少开发复杂度,不用什么都得亲自编码。NPM允许你在一个沙箱里下载和使用模块,你可以尽情地试验你感兴趣的东西,而不用担心污染全局的包环境。
NPM和 Node以前需要独立安装,从0.6.0版本以后,NPM已经包含在了Node安装包里。
使用NPM来安装,升级和卸载包