node.js,错误:找不到模块'express'
我是node.js的新手,尝试学习快速构build我的第一个Web应用程序。 被困在我的第一个示例代码。 需要一些帮助才能运行。 在我发布这个问题之前,我没有search堆栈溢出,发现了一些类似的问题,但仍然无法解决它。
错误:找不到模块'express'
我使用的是Mac OS 10.8.2。 我使用nvm安装了node.js。
node.js:0.8.20到node的path:/Users/feelexit/nvm/v0.8.20/bin/nodepath来表示:/ 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$
更新回答hovy的问题:
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
它说
Cannot find module 'express'
你有快速安装?如果没有,然后运行这个。
npm install express
再次运行你的程序。
当你在terminal上expression出来之后,
npm install
要安装所有的依赖关系。
然后你可以做节点应用程序来运行服务器。
检查你是否安装了express
模块。 如果没有,请使用以下命令:
npm install express
如果您的node_modules
目录位于其他位置,请设置NODE_PATH
环境variables:
set NODE_PATH=your\directory\to\node_modules;%NODE_PATH%
npm从您的应用程序目录安装将解决这个问题,因为它会安装所需的一切
在这里挖掘一个旧的线程,但我有这个相同的错误,我通过导航到我的NodeApp驻留在目录解决和运行npm install -d
您的快速模块位于与您的项目不同的目录中。 这可能是你试图在本地require()
问题。 尝试将您的Express模块从/ Users / feelexit / nvm / node_modules / express移动到/ Users / feelexit / WebstormProjects / learnnode / node_modules / express 。 这个信息可以给你更多关于node_module文件结构的细节。
如果您的主文件位于/Users/feelexit/WebstormProjects/learnnode/node_modules/index.js
则表示需要位于/Users/feelexit/WebstormProjects/learnnode/node_modules/node_modules
因为节点始终在./node_modules
查找模块(及其内部文件夹),当path不以./
或/
( 更多信息在这里 )
我想你错过了你的主要文件在模块文件夹
对于这种情况下,运行npm install express命令,使用cmd提示符为要运行该程序的相应文件夹。 示例我想在F:\ nodeSample中运行express模块程序server.js。 所以运行“npm install express”,然后运行server.js
除非你设置了Node_PATH ,否则唯一的select就是在app目录下npm install express --save
,比如npm install express --save
。 Express可能已经安装,但node
由于某种原因找不到它
npm ERR! Error: ENOENT, open '/Users/feelexit/package.json'
发生这种情况是由于在npm工作时缺less权限或未链接的文件。
这意味着,执行npm
作为这个用户没有足够的权限来读/写文件,在这种情况下package.json。
尝试在整个命令之前添加sudo
– 它应该解决。
$ sudo npm install -g express
$ Password:*******
密码将是您的Mac的pipe理员密码。
-g
标志将把这个模块(express)安装在节点的全局上下文中 – 意味着节点将/应该从任何js文件中识别express
模块,而不必提供正在使用的模块的完整path。
希望这可以帮助!!
我有同样的问题。 我的问题是,我必须在安装express之前更改到命令行上的Node.js项目目录。
cd /Users/feelexit/WebstormProjects/learnnode/node_modules/
我猜这是Colt Steele的Web开发课程的课程…我正在寻找同样的答案,为什么我也结束了这个错误..小马不这样说,但你采取node_module文件夹和移动进入你正在工作的新文件夹…这就是为我工作。
在源代码nodejs文件的相同目录下运行npm install express body-parser cookie-parser multer --save
命令来解决这个问题。 P / s:运行命令后检查你的目录了解更多!
在极less数情况下,npmcaching可能会损坏。 对我来说,有效的是:
npm cache clean --force
一般来说,软件包pipe理器将自己检测到损坏并重新提取,所以这通常是不必要的。 但是,在我的情况下,Windows 10崩溃了几次,我怀疑这可能是在一个获取操作。 希望它可以帮助别人!
更多信息: https : //docs.npmjs.com/cli/cache