错误版本(未更新前的安装方法,更新后就不是这么安装了,好多网上的教程还是这种方法,所以这里先写明了,旧版这里是可以通过的,但是新版4.x就不行了,请用分割线下边的方法)

 
本文演示在Linux上安装NodeJS及Express开发框架

 
软件环境:
VMware 9
CentOS 6.5
NodeJS v0.10.24
 
安装过程:

Step 1、确认服务器有nodejs编译及依赖相关软件,如果没有可通过运行以下命令安装。

[root@BobServerStation local]# yum -y install gcc gcc-c++ openssl-devel

Step 2、下载NodeJS源码包并解压。

[root@BobServerStation local]# wget http://nodejs.org/dist/v0.10.24/node-v0.10.24.tar.gz

[root@BobServerStation local]# tar zxvf node-v0.10.24.tar.gz
[root@BobServerStation local]# cd node-v0.10.24
Step 3、配置、编译、安装。

[root@BobServerStation node-v0.10.24]# ./configure --prefix=/usr/local/node

[root@BobServerStation node-v0.10.24]# make && make install
将持续3-4min....
 
Step 4、接下来配置Node环境

[root@BobServerStation node-v0.10.24]# vim /etc/profile

#set nodejs env
export NODE_HOME=/usr/local/node
export PATH=$NODE_HOME/bin:$PATH
export NODE_PATH=$NODE_HOME/lib/node_modules:$PATH
 
[root@BobServerStation node-v0.10.24]# source /etc/profile       --重启生效
 
Step 5、测试是否安装成功

[root@BobServerStation node-v0.10.24]# node -v

v0.10.24

出现NodeJS版本号则表示OK。
 
Step 6、NodeJS之Hello World

[root@BobServerStation node-v0.10.24]# node

> console.log(”Hello NodeJS, I'm Bob.Z“);

Hello NodeJS, I'm Bob.Z

undefined

>

输出:Hello NodeJS, I'm Bob.Z
 
Step 7、安装Express开发框架

[root@BobServerStation local]# npm install express -g

 
Step 8、创建Demo项目

[root@BobServerStation local]# express DemoApp

[root@BobServerStation local]# cd DemoApp

[root@BobServerStation DemoApp]#

 
Step 9、进入项目目录并安装项目依赖组件

[root@BobServerStation local]# cd DemoApp

[root@BobServerStation DemoApp]# npm install

 
Step 10、依赖组件安装完成后启动app

[root@BobServerStation DemoApp]# node app

Express server listening on port 3000

 
最后通过浏览器访问服务器3000端口,页面显示,

Express

Welcome to Express

 
Node + Express成功运行,顺利开启Node开发之旅,enjoy it!
 
我本地按教程进行安装的结果
 

在官网找到了解决方法是 express 4需要通过 下面的命令安装

npm install -g express-generator

-------------------------------------------------------------分割线-----------------------------------------------------------------------------
 
新版4.x的安装方法
首先,我们需要安装express库。在Express3.6.x之前的版本,Express需要全局安装的,项目构建器模块是合并在Express项目中的,后来这个构建器被拆分出来,独立成为了一个项目express-generator,现在我们只需要全局安装express-generator项目就行了。
  1. [root@localhost nodejs]# npm install -g express-generator
  2. /root/git/nvm/versions/node/v4.2.1/bin/express ->/root/git/nvm/versions/node/v4.2.1/lib/node_modules/express-generator/bin/express
  3. express-generator@4.13./root/git/nvm/versions/node/v4.2.1/lib/node_modules/express-generator
  4. ├── sorted-object@1.0.
  5. ├── mkdirp@0.5.(minimist@0.0.)
  6. └── commander@2.7.(graceful-readlink@1.0.)
至此,express就安装完成了。
安装好express-generator包后,我们在命令行就可以使用express命令了,如下。
  1. [root@localhost DemoApp]# express -V
  2. 4.13.
  3. [root@localhost DemoApp]# express -h
  4. Usage: express [options][dir]
  5. Options:
  6. -h,--help output usage information
  7. -V,--version output the version number
  8. -e,--ejs add ejs engine support (defaults to jade)
  9. --hbs add handlebars engine support
  10. -H,--hogan add hogan.js engine support
  11. -c,--css <engine> add stylesheet <engine> support (less|stylus|compass|sass)(defaults to plain css)
  12. --git add .gitignore
  13. -f,--force force on non-empty directory
现在可以开始创建项目了,如下:express DemoApp
  1. [root@localhost nodejs]# express DemoApp
  2. create :DemoApp
  3. create :DemoApp/package.json
  4. create :DemoApp/app.js
  5. create :DemoApp/public
  6. create :DemoApp/public/javascripts
  7. create :DemoApp/public/images
  8. create :DemoApp/public/stylesheets
  9. create :DemoApp/public/stylesheets/style.css
  10. create :DemoApp/routes
  11. create :DemoApp/routes/index.js
  12. create :DemoApp/routes/users.js
  13. create :DemoApp/views
  14. create :DemoApp/views/index.jade
  15. create :DemoApp/views/layout.jade
  16. create :DemoApp/views/error.jade
  17. create :DemoApp/bin
  18. create :DemoApp/bin/www
  19. install dependencies:
  20. $ cd DemoApp&& npm install
  21. run the app:
  22. $ DEBUG=DemoApp:* npm start
创建完项目,系统提示需要安装依赖,进入项目目录,下载依赖并安装,如下:cd DemoApp/&& npm install
  1. [root@localhost nodejs]#cd DemoApp/&& npm install
  2. cookie-parser@1.3. node_modules/cookie-parser
  3. ├── cookie@0.1.
  4. └── cookie-signature@1.0.
  5. debug@2.2. node_modules/debug
  6. └── ms@0.7.
  7. serve-favicon@2.3. node_modules/serve-favicon
  8. ├── etag@1.7.
  9. ├── fresh@0.3.
  10. ├── ms@0.7.
  11. └── parseurl@1.3.
  12. morgan@1.6. node_modules/morgan
  13. ├── on-headers@1.0.
  14. ├── basic-auth@1.0.
  15. ├── depd@1.0.
  16. └── on-finished@2.3.(ee-first@1.1.)
  17. express@4.13. node_modules/express
  18. ├── escape-html@1.0.
  19. ├── merge-descriptors@1.0.
  20. ├── cookie@0.1.
  21. ├── array-flatten@1.1.
  22. ├── cookie-signature@1.0.
  23. ├── utils-merge@1.0.
  24. ├── content-type@1.0.
  25. ├── methods@1.1.
  26. ├── vary@1.0.
  27. ├── etag@1.7.
  28. ├── path-to-regexp@0.1.
  29. ├── serve-static@1.10.
  30. ├── range-parser@1.0.
  31. ├── content-disposition@0.5.
  32. ├── fresh@0.3.
  33. ├── parseurl@1.3.
  34. ├── depd@1.0.
  35. ├── qs@4.0.
  36. ├── proxy-addr@1.0.(forwarded@0.1., ipaddr.js@1.0.)
  37. ├── finalhandler@0.4.(unpipe@1.0.)
  38. ├── on-finished@2.3.(ee-first@1.1.)
  39. ├── type-is@1.6.(media-typer@0.3., mime-types@2.1.)
  40. ├── send@0.13.(destroy@1.0., statuses@1.2., ms@0.7., mime@1.3., http-errors@1.3.)
  41. └── accepts@1.2.(negotiator@0.5., mime-types@2.1.)
  42. body-parser@1.13. node_modules/body-parser
  43. ├── content-type@1.0.
  44. ├── bytes@2.1.
  45. ├── depd@1.0.
  46. ├── qs@4.0.
  47. ├── on-finished@2.3.(ee-first@1.1.)
  48. ├── http-errors@1.3.(statuses@1.2., inherits@2.0.)
  49. ├── iconv-lite@0.4.
  50. ├── type-is@1.6.(media-typer@0.3., mime-types@2.1.)
  51. └── raw-body@2.1.(unpipe@1.0., bytes@2.2., iconv-lite@0.4.)
  52. jade@1.11. node_modules/jade
  53. ├── commander@2.6.
  54. ├── character-parser@1.2.
  55. ├── void-elements@2.0.
  56. ├── mkdirp@0.5.(minimist@0.0.)
  57. ├── constantinople@3.0.(acorn@2.7.)
  58. ├── clean-css@3.4.(commander@2.8., source-map@0.4.)
  59. ├── jstransformer@0.0.(is-promise@2.1., promise@6.1.)
  60. ├── transformers@2.1.(promise@2.0., css@1.0., uglify-js@2.2.)
  61. ├── with@4.0.(acorn@1.2., acorn-globals@1.0.)
  62. └── uglify-js@2.6.(async@0.2., uglify-to-browserify@1.0., source-map@0.5., yargs@3.10.)
启动项目服务 :npm start
  1. root@localhost DemoApp]#npm start
  2. >DemoApp@0.0. start /root/nodejs/DemoApp
  3. > node ./bin/www
  4. GET /200382.317 ms -
  5. GET /stylesheets/style.css 20017.834 ms -
  6. GET /favicon.ico 40456.666 ms -
  7. GET /favicon.ico 40439.911 ms -
  8. GET /30458.911 ms --
  9. GET /stylesheets/style.css 3041.839 ms --
  10. GET /30447.751 ms --
  11. GET /stylesheets/style.css 3040.280 ms --
  12. GET /30453.378 ms --
  13. GET /stylesheets/style.css 3040.258 ms --
 
如果发现express 版本为2.x怎么办?
需要对express进行升级,执行命令
  1. npm install express --save
 

安装4.x版本的express开发框架的更多相关文章

  1. CentOS安装NodeJS及Express开发框架

    http://zhaohe162.blog.163.com/blog/static/38216797201402234212981/   express 命令行工具 npm install -g ex ...

  2. 安装了SQL2005再安装SQL 2008R2,提示此计算机上安装了 Microsoft Visual Studio 2008 的早期版本和检查是否安装了 SQL Server 2005 Express 工具的解决方案

    工作电脑上安装了SQL 2005, 但是客户电脑上安装的是SQL 2008R2,有时候连接他们的库调试没法连接,很不方便.然后又安装了个SQL2008 R2,期间遇到这两个问题,网上搜索了一下收到了解 ...

  3. 一台电脑安装多个版本的jdk

    我们平时在做Java开发的时候,有时需要使用多个版本的jdk, 那么一台电脑上需要安装多个JDK了. 那一台电脑上可不可以同时安装多个版本的jdk呢? 答案是可以的! 但使用的时候,只能使用一个,不能 ...

  4. 检测计算机已经安装的NetFramework版本(摘录)

    /// /// 检测计算机已经安装的NetFramework版本 /// internal void GetVersionFromRegistry() { using (RegistryKey ndp ...

  5. window下在同一台机器上安装多个版本jdk,修改环境变量不生效问题处理办法

    window下在同一台机器上安装多个版本jdk,修改环境变量不生效问题处理办法 本机已经安装了jdk1.7,而比较早期的项目需要依赖jdk1.6,于是同时在本机安装了jdk1.6和jdk1.7. 安装 ...

  6. 查看已安装的CentOS版本信息:

    如何查看已安装的CentOS版本信息: 1)[root@localhost ~]# cat /proc/version Linux version 2.6.18-194.el5 (mockbuild@ ...

  7. Mac下同时安装多个版本的JDK

    JDK8 GA之后,小伙伴们喜大普奔,纷纷跃跃欲试,想体验一下Java8的Lambda等新特性,可是目前Java企业级应用的主打版本还是JDK6, JDK7.因此,我需要在我的电脑上同时有JDK8,J ...

  8. Window 中安装python多版本环境

    由于python 3 已是目前稳定,且是将来版本版本.新学者可以直接从python3入手学习.但是目前还有很多企业级应用使用的是python 2,可能还得要维护.所以,我们在本地windows中可以安 ...

  9. Linux系统启动流程及安装命令行版本

    Debian安装 之前也安装过很多次linux不同版本的系统,但安装后都是直接带有桌面开发环境的版本,直接可以使用,正好最近项目不是很忙,想一直了解下Linux的整个启动流程,以及如何从命令行模式系统 ...

随机推荐

  1. js的原型继承小结

    考虑:有一个想要复用的对象,并且想要创建的第二个对象需要从第一个对对象中获取其功能. 实现如下: //要继承的对象 var parent = { name:"Papa" }; // ...

  2. Javascript经典实例 - 正则表达式

    1] 正则常用字符 正则表达式常用的特殊字符 字符 匹配 示例 ^ 匹配输入的开始 /^This/匹配 “This is ...” $ 匹配输入的结束 /end$/匹配“This is the end ...

  3. EF 拉姆达 动态拼接查询语句

    EF 动态拼接查询语句 using System; using System.Collections.Generic; using System.IO; using System.Linq; usin ...

  4. mysql中的意向锁IS,IX

    知识储备: 1.官方文档上说mysql是支持非锁定读的:这个功能是这样实现的,如果事务a 要对行的数据进行更新的话,那么事务a要得到行的x锁,并把这一行  之前的样子记录在undo log里面,这样一 ...

  5. c#实现生产者消费者模式

    ;            }            Environment.ExitCode = result;        }    }}

  6. iOS开发之网络篇-各种网络状态码

    1xx消息 这一类型的状态码,代表请求已被接受,需要继续处理.这类响应是临时响应,只包含状态行和某些可选的响应头信息,并以空行结束.由于HTTP/1.0协议中没有定义任何1xx状态码,所以除非在某些试 ...

  7. USB系列之一:列出你的USB设备

    USB现在已经成为PC机必不可少的接口之一,几乎所有的设备都可以接在USB设备上,USB键盘.鼠标.打印机.摄像头,还有常用的U盘等等,从本篇文章开始,将集中篇幅介绍一下在DOS中使用USB设备的方法 ...

  8. LeeCode-Contains Duplicate

    Given an array of integers, find if the array contains any duplicates. Your function should return t ...

  9. Web Service中的XFire 传输List 自定义对象.

    我把这个创建的步骤和代码的贴出来,. 首先新建一个工程,取名就随便点啦..MyWebService,然后复制jar包到lib目录下, 创建包,建立接口..写一个javaBean的类, 以下是一个简单的 ...

  10. Flashback Version/Transaction Query

    1.应用Flashback Version Query查询记修改版本 SQL> select dbms_flashback.get_system_change_number from dual; ...