Windows7下安装Express,'express' 不是内部或外部命令的解决办法

最近在学习Node.js,参考《Node.js开发指南》,安装Express遇到了一些问题。
 
大致描述如下:

1. Window7系统下安装Node到C:\Program Files\nodejs
2. 在命令行执行 npm install express -g 安装过程顺利参考执行结果知道express被安装到了如下目录:C:\Users\Administrator\AppData\Roaming\npm\node_modules\express
3. 在cmd中执行express --help 看是否能够使用express,报出     "'express' 不是内部或外部命令"的问题

  Google "'express' 不是内部或外部命令",发现很多人遇到类似问题,但似乎没有一个有助于解决该问题的。一度打算暂时不管它,继续推进node.js的学习,但后发现个有意思问题:尝试global安装某些包以后会在对应的C:\Users\Administrator\AppData\Roaming\npm目录下有启动程序比如:supervisor.cmd, 而express的对应express.cmd则没有。
 
     参考之前看的《了不起的node.js》提到node.js中的知道包是有两种,一种是被require方式被使用;一种除了被require还提供可执行功能(即可作为命令行工具使用)。想必Express是属于前者。 最后解决问题是打开了Express下的Readme.md中看到了这么一段话:

Install the executable. The executable's major version will match Express's:

    $ npm install -g express-generator@3
  
  参考Readme.md中上下文,猜想应该是提供了一个可执行的Express版本,执行上述命令npm install -g express-generator@3,再执行:

  

  果然通过了,同时在C:\Users\Administrator\AppData\Roaming\npm目录下也发现了express.cmd。

  问题暂时算是解决了。耗费了好些时间在上面==||

猜你喜欢

转载自songlitao.iteye.com/blog/2397929