node.js 在linux下面安装详解

文章标签: node.js
2014-11-20 16:30:16     11 人阅读    

在Linux下安装node.js
            和直接用二进制包安装类似,编译安装Node.js也很简单。要在绝大多数*nk系的系统中编 译Node.js,只需要确保系统中有C/C++编译器以及OpenSSL库就可以了。
           要是没有,安装起来也比较容易,大部分的Linux发行版都自带包管理器,通过它可以很 方便地进行安装。
比方说,在AmazonLinux中,可以通过如下命令来安装依赖包:
         sudo yum install gcc gcc-c++ openssl-devel curl
   在Ubuntu中,安装方式稍有不同,如下所示:
        sudo apt-get install g++ libssi-dev apache2-utils curl


编译
    在操作系统终端下,运行如下命令:
    注意:将下面例子中的?替换成最新的Nodejs的版本号3。
    $ curl -0 http://nodejs.org/dist/node-v?.?.?.tar.gz $ tar -xzvf node-v?.?.?.tar.gz $ cd node-v?.?,?
    $ ./configure $ make $ make test $ make install
    如果make test命令报错。我建议你停止安装,并将./configure、make以及make test
    命令产生的日志信息发送给Node.js的邮件列表。


确保安装成功
    打开终端或者类似XTerm这样的应用,并输人$ node -version。
    如果安装成功的话,就会显示安装的Node.js的版本号。


NodeREPL
    要运行Node的REPL,在终端输人node即可。
    可以试试运行一些JavaScript表达式。例如:
     Object.keys(global)


     REPL是我最喜欢的工具之一,它能让我很方便地验证一些Node API和JavaScript API是否 正确。若有时忘记了某个API的用法,就可以用REPL来验证下,非常有用,尤其是在开发大 型模块的时候。我一般都新开一个单独的终端tab,快速在REPL中尝试一些JavaScript的原生用 法,真的非常方便。


执行文件
    和绝大多数脚本语言一样,Node.js可以通过node命令来执行Node脚本。
    用你喜欢的编辑器,创建一个名为my-web-server.js的文件,输人如下内容:
    var http = require(1 http');
    var serv = http.createServer(function (req, res) { res,writeHead(200, { 1 Content-Type': 'text/html' }); res.end(1<marquee>Smashing Node!    </raarquee>1);
});
serv.listen(3000);


使用如下命令来执行此文件:


    上述代码展示了如何使用Node书写一个完整的HTTP服务器,来托管一个简单的HTML文 档。这是一个Node.js的经典例子,因为它证明了Node.js的强大,仅通过几行JavaScript代码就 能创建出一个像Apache或者IIS的Web服务器。


NPM
Node包管理器(NPM)可以让你在项目中轻松地对模块进行管理,它会下载指定的包、
   CHAPTER1 •安裝
    解决包的依赖、运行测试脚本以及安装命令行脚本。
    尽管这些工作并非你项目的核心功能,但使用第三方发布的模块可以提高项目的开发效率。
   NPM本身是用Node.js开发的,有二进制包的发布形式(Windows下有MS按装器,Mac下C3D 有PKG文件)。若要从源码进行编译安装,可以使用如下命令4:
    $ curl http://npmjs.org/install.sh | sh
    通过如下命令可以检查NPM是否安装成功:
     $ npm --version
    安装成功的话,会显示出所安装NPM的版本号。
安装模块
    为了展示如何通过NPM来安装模块,我们创建一个my-project目录,安装colors模 块,然后创建一个index.js文件:
$ mkdir my-project/


$ cd my-project/
$ npm install colors
要验证模块是否安装成功,可以在该目录下查看是否有node_modules/colors目录。
然后,用你最喜欢的编辑器编辑index.js文件:
$ vim index.j s
在该文件中添加如下内容:
require{'colors'};
console.log('smashing node1.rainbow);
运行此文件的结果应该如图1-4所示。

 

自定义模块
      要自定义模块,你需要创建一个package.json文件。通过这种方式来定义模块有三种好处:
       ■ 可以很方便地将项目中的模块分享给其他人,不需要将整个node_modules目录发给 他们。因为有了 package.json之后,其他人运行npm install就可以把依赖的模 块都下载下来,直接将node—modules目录给别人根本就是个馊主意。特别是当用 Git这样的SCM系统进行代码控制的时候。
       ■ 可以很方便地记录所依赖模块的版本号。举个例子来说,当你的项目通过npm install colors安装的是0.5.0的colors。一年后,由于colors模块API的更改,可能 导致与你的项目不兼容,如果你使用npm install并且不指定版本号来安装的话, 你的项目就没法正常运行了。
       ■ 让分享更简单。如果你的项目不错,你是否想将它分享给别人?这时,因为有package. json文件,通过npm publish就可以将其发布到NPM库中供所有人下载使用了。


    在原先创建的目录(my-project)中,删除node—modules目录并创建一个package.json 文件:
$ rm -r node 一 modules $ vim package.j son
然后,将如下内容添加到该文件中5:
{
"name11: "my-colors-pro j ect"
,"version": "0.0.1"
,"dependencies": {
"colors": "0.5.0"
}
}
       注意:此文件内暮必须遵循JSON格式。仅遵循JavaScript格式是不够的。举例来说,你必须要确保所 有的字符串,包括属性名,都是使用双引号而不是单引号。
       package.json文件是从Node.js和NPM两个层面来描述项目的。其中只有name和version
是必要的字段。通常情况下,还会定义一些依赖的模块,通过使用一个对象,将依赖模块的模 块名及版本号以对象的属性和值将其定义在packagejson文件中。
    保存上述文件,安装依赖的模块,然后再次运行indexjs文件:
    注意了,这里文件名不需要加上“.js”后缀

    在本例中,自定义模块是内部使用的。不过,如果想发布出去,NPM提供了如下这种方 式,可以很方便地发布模块:
    $ npm publish
    当别人使用require('my-colors-project')时,为了能够让Node知道该载人哪个文 件,我们可以在package.json文件中使用main属性来指定:
{
■■name": "my-colors-project"
,"version": "0.0.1"
,"main": "./index"
,"dependencies": {
"colors": "0.5.0"
    当需要让模块暴露API的时候,main属性就会变得尤为重要,因为你需要为模块定义一个 人口(有的时候,人口可能是多个文件)。
    要查看package.json文件所有的属性文档,可以使用如下命令:


$ npm help json
小贴士:如果你不想发布你的模块,那么在package.json中加入"private": "true',。这样可以 避免误发布。
安装二进制工具包
有的项目分发的是Node编写的命令行工具。这个时候,安装时要增加-g标志。
举例来说,本书中要介绍的Web框架express就包含一个用于创建项目的可执行工具。
$ npm install -g express
安装好后,新建一个目录,并在该目录下运行express命令:
$ rakdir my-site $ cd mysite $ express
小贴士 :要想分发此类脚本,发布时,在package.json文件中添加"bin": "./path/to/script" 项,并将其值指向可执行的脚本或者二进制文件。
浏览NPM仓库

 


NPM有一个丰富的仓库,包含了上千个模块。NPM有两个命令可以用来在仓库中搜索和 查看模块:search和view。
例如,要搜索和realtime相关的模块,就可以执行如下命令:
$ npm search realtime
该命令会在已发布模块的name、tags以及description字段中搜索此关键字,并返回匹配的 模块。
找到了感兴趣的模块后,通过运行npm view命令,后面紧跟该模块名,就能看到package. json文件以及与NPM仓库相关的属性,举个例子:
$ npm view socket.io
小贴士:输入npm help可以查看某个NPM命令的帮助文档,如npm help publish就会教你如何 发布模块。


原文地址:http://www.itmmd.com/201411/199.html
该文章由 萌萌的IT人 整理发布,转载须标明出处。

xampp与apache等等相关的windows&mac   上一篇
下一篇  node.js安装-window 和 mac下面安装方法

精彩回复
发表评论
姓名:       

《程序员app》专门为程序员量身定做!