0

我用 npm express 写了一个小程序。当我运行程序时,我收到如下错误。(我是 node.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:362:17)
    at require (module.js:378:17)
    at Object.<anonymous> (C:\Users\node\node_modules\app.js:1:77)
    at Module._compile (module.js:449:26)
    at Object.Module._extensions..js (module.js:467:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.runMain (module.js:492:10)
4

1 回答 1

3

在您的应用程序中,您显然requireexpress模块,可能是这样的:

var express = require('express');

要使这条线正常工作,您需要将 Express 安装到应用程序的本地上下文中。为此运行

$ npm install express

在您的应用程序的文件夹中。这将(如果尚不存在)创建一个文件夹node_modules,用于存放所有依赖项。

此外,我建议您将 Express 放入您package.jsondependencies块内,例如:

"dependencies": {
  "express": "3.1.0"
}

当然,您可以将版本号调整为您使用的任何版本。为所有依赖项完成此操作后,您只需运行即可立即安装它们

$ npm install

那应该解决它。

PS:对于这种情况,您是否全局安装 Express 都没有关系。全局安装仅适用于在express系统范围内使用引导程序。该require函数始终只在本地应用程序上下文中搜索。

于 2013-03-07T08:35:52.677 回答