首页 文章

node.js,错误:找不到模块'express'

提问于
浏览
84

我是Node.js的新手,尝试学习express来构建我的第一个Web应用程序 . 我遇到了我的第一个示例代码,需要一些帮助才能使其运行 . 在我发布这个问题之前,我确实搜索了堆栈溢出,发现了一些类似的问题,但仍然无法修复它 .

错误:找不到模块'快递'

我正在使用 mac os 10.8.2 . 我使用 nvm 安装了Node.js.

node.js:0.8.20节点路径:/Users/feelexit/nvm/v0.8.20/bin/node要表达的路径:/ Users / feelexit / nvm / node_modules / express

这是我的示例代码:此文件位于:

/Users/feelexit/WebstormProjects/learnnode/node_modules/index.js

var express = require('express');

var app = express();

app.get('/', function(req, res){

    res.send('welcome to express');
});

app.listen(3000);

当我尝试运行此命令时 node index.js

我收到以下错误消息,请帮我解决 .

谢谢 .

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> (/Users/feelexit/WebstormProjects/learnnode/node_modules/index.js:1:81)
    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)
feelexits-Mac:node_modules feelexit$

Update to answer chovy's question:

feelexits-Mac:~ feelexit$ npm install
npm ERR! install Couldn't read dependencies
npm ERR! Error: ENOENT, open '/Users/feelexit/package.json'
npm ERR! If you need help, you may report this log at:
npm ERR!     <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR!     <npm-@googlegroups.com>

npm ERR! System Darwin 12.2.0
npm ERR! command "/Users/feelexit/nvm/v0.8.20/bin/node" "/Users/feelexit/nvm/v0.8.20/bin/npm" "install"
npm ERR! cwd /Users/feelexit
npm ERR! node -v v0.8.20
npm ERR! npm -v 1.2.11
npm ERR! path /Users/feelexit/package.json
npm ERR! code ENOENT
npm ERR! errno 34
npm ERR! 
npm ERR! Additional logging details can be found in:
npm ERR!     /Users/feelexit/npm-debug.log
npm ERR! not ok code 0

17 回答

  • 30

    在这里挖掘一个旧线程,但我有同样的错误,我通过导航到我的NodeApp所在的目录并运行 npm install -d 解决了

  • 3

    从你的app目录中安装npm将解决问题,因为它将安装所需的一切

  • 9

    它说

    Cannot find module 'express'
    

    你有快速安装吗?如果没有,那么运行它 .

    npm install express
    

    并再次运行您的程序 .

  • 5

    在您的终端表达后,然后做

    npm install
    

    安装所有依赖项 .

    然后,您可以执行节点应用程序来运行服务器 .

  • 108

    检查您是否安装了 express 模块 . 如果没有,请使用此命令:

    npm install express
    

    如果你的 node_modules 目录在另一个地方,请设置 NODE_PATH envirnment变量:

    set NODE_PATH=your\directory\to\node_modules;%NODE_PATH%
    
  • 0

    您的快速模块位于与项目不同的目录中 . 这可能是问题,因为你在本地尝试 require() . 尝试将您的快速模块从/ Users / feelexit / nvm / node_modules / express移至/ Users / feelexit / WebstormProjects / learnnode / node_modules / express . This info可以为您提供有关node_module文件结构的更多详细信息 .

  • 2
    npm install --save express
    

    这对我有用,只需再次运行express.js安装

  • 0

    如果您的主文件位于 /Users/feelexit/WebstormProjects/learnnode/node_modules/index.js ,则表示需要位于 /Users/feelexit/WebstormProjects/learnnode/node_modules/node_modules ,因为当路径不以 .//more info here)开头时,节点始终在 ./node_modules (及其内部文件夹)中查找模块

    我想你错过了把你的主文件放在模块文件夹中

  • 0

    对于此方案,请使用cmd提示符运行npm install express命令,以查找要运行程序的相应文件夹 . 示例我想在F:\ nodeSample中运行快速模块程序server.js . 因此,在该特定文件夹中运行“npm install express”,然后运行server.js

  • 37

    除非你设置 Node_PATH ,否则唯一的另一个选择是在app目录中安装express,比如 npm install express --save . 可能已经安装了Express但 node 由于某种原因找不到它

  • 0

    npm ERR! Error: ENOENT, open '/Users/feelexit/package.json'

    这是因为在npm工作时缺少权限或未链接的文件 .

    这意味着执行 npm ,因为此用户没有足够的权限从文件读取/写入,在本例中为package.json .

    尝试在整个命令之前添加 sudo - 它应该解决 .

    $ sudo npm install -g express
    $ Password:*******

    密码将是您的mac的管理员密码 .

    -g flag将在节点的全局上下文中安装此模块(express) - 意味着节点将/应该从任何js文件中识别 express 模块,而不必提供正在使用的模块的完整路径 .

    希望这可以帮助!!

  • 0

    我有同样的问题 . 我的问题是我必须在安装express之前更改到命令行上的Node.js项目目录 .

    cd /Users/feelexit/WebstormProjects/learnnode/node_modules/
    
  • 0

    我猜这是Colt Steele的Web开发课程的课程...我一直在寻找同样的答案,为什么我也得到了这个错误.Colt没有这么说但你拿了node_module文件夹并移动进入你正在工作的新文件夹...这对我有用 .

  • 2

    在源代码nodejs文件所在的同一目录中运行 npm install express body-parser cookie-parser multer --save 命令以解决此问题 . P / s:运行命令后检查你的目录,了解更多!

  • 3

    在极少数情况下,npm缓存可能会损坏 . 对我来说,有用的是:

    npm cache clean --force
    

    通常,程序包管理器会自行检测损坏和重新获取,因此通常不需要这样做 . 但是,在我的情况下,Windows 10崩溃了几次,我怀疑这可能是在获取操作期间 . 希望它可以帮到某人!

    更多信息:https://docs.npmjs.com/cli/cache

  • 0
    D:\learn\Node.js\node app.js
    module.js:549
        throw err;
        ^
    
    Error: Cannot find module 'body-parser'
        at Function.Module._resolveFilename (module.js:547:15)
        at Function.Module._load (module.js:474:25)
        at Module.require (module.js:596:17)
        at require (internal/module.js:11:18)
    

    有时版本与package.json不匹配通过检查package.json修复了问题,然后使用以下命令:npm install body-parser@1.13.2它为我解决了 .

  • 2

    我遇到了类似的问题,最后是一些旧的依赖项问题弄乱了我的Heroku服务器 .

    在我的项目文件夹中,我运行:

    npm uninstall
    npm install
    

    我希望它有所帮助

相关问题