【问题标题】:node cannot find express module?节点找不到快递模块?
【发布时间】:2013-07-11 20:49:51
【问题描述】:

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

【问题讨论】:

    标签: node.js express npm


    【解决方案1】:

    npm express -v不显示你安装的Express版本,它显示npm的版本。

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

    npm ls express
    

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 为什么?如果不能“全局”使用,那么全局安装有什么意义?
      • @Sosukodo 一个很好的解释是在npm blog 上,如果你想从你的shell 使用可执行文件,全局安装是很好的。要将它们用作程序中的库,最好在本地安装它们。尽管您也可以从全局安装中创建符号链接。
      【解决方案3】:

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

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

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

      【讨论】:

        【解决方案4】:

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

        即使用命令npm install -g express

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

          var express = require('express')

        2. 在 windows 上检查路径 C:\Users\&lt;user_name&gt;\AppData\Roaming\npm 是否在 PATH 环境变量中

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

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2022-12-15
          • 2021-01-06
          • 1970-01-01
          • 2017-09-27
          • 2019-07-26
          • 1970-01-01
          • 1970-01-01
          • 2022-11-11
          相关资源
          最近更新 更多