节点找不到快递模块?

时间:2013-07-13 11:19:14

标签: node.js express npm

我不知道是什么导致了这个问题,因为我认为它应该有效。我确实表示安装,至少根据npm:

C:\Users\phucker\Desktop>node init.js

module.js:340
    throw err;
          ^
Error: Cannot find module 'express'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at Object.<anonymous> (C:\Users\phucker\Desktop\init.js:1:77)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Function.Module.runMain (module.js:497:10)

C:\Users\phucker\Desktop>npm express -v
1.3.2

C:\Users\phucker\Desktop>

init.js中包含的代码是

var express = require('express');
var app = express();

app.get('/', function(req, res){
  res.send('hello world');
});

app.listen(3000);

4 个答案:

答案 0 :(得分:4)

npm express -v未显示您已安装的Express版本,它会显示npm的版本。

要显示已安装的Express版本,请尝试以下操作:

npm ls express

答案 1 :(得分:4)

您需要在express文件夹中本地安装node_modules。检查node_modules并重新安装(如果不存在)

答案 2 :(得分:2)

也许这不是你的问题,但是对于初学者来说,它往往会让全球和本地安装之间的区别混淆。如果您在代码中使用require('module_name'),则必须使用npm install module_name或使用package.json中的依赖项在本地安装每个模块。

全局安装仅用于运行express my_new_project等命令。

您可以使用npm list列出所有已安装的本地模块以及所有运行npm list -g的全局模块。

答案 3 :(得分:1)

如果您已安装全球快递,请检查以下内容

即使用命令npm install -g express

  1. 使用

    检查代码中是否导入了快速模块

    var express = require('express')

  2. 在Windows上检查路径C:\Users\<user_name>\AppData\Roaming\npm是否在PATH环境变量上

  3. 对于没有全球快速安装的安装

    1. 导航到您的文件夹C:\ node project
    2. 使用npm install express
    3. 进行Express的本地安装
    4. 使用var express = require('express')
    5. 在代码中导入快速模块