4

我不知道是什么导致了这个问题,因为我认为它应该可以工作。我确实表示已安装,至少根据 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

4 回答 4

5

npm express -v不显示您已安装的 Express 版本,它显示的是npm.

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

npm ls express
于 2013-07-13T12:02:00.727 回答
5

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

于 2013-07-13T12:02:23.067 回答
2

也许这不是您的问题,但对于初学者来说,全局安装和本地安装之间的区别常常令人困惑。如果您require('module_name')在代码中使用,则必须使用npm install module_name或使用package.json.

全局安装仅用于运行命令,如express my_new_project.

您可以列出所有已安装的本地模块以用于实际目录 usingnpm list和所有正在运行的全局模块npm list -g

于 2013-07-13T13:01:34.990 回答
1

如果您已全局安装 express,请检查以下内容

即使用命令npm install -g express

  1. 检查是否在您的代码中导入了 express 模块

    var express = require('express')

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

对于没有全局安装 express 的安装

  1. 导航到您的文件夹 C:\node 项目
  2. 使用本地安装 Expressnpm install express
  3. 使用在您的代码中导入 express 模块var express = require('express')
于 2013-07-13T13:10:28.440 回答