我不知道是什么导致了这个问题,因为我认为它应该有效。我确实表示安装,至少根据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);
答案 0 :(得分:4)
npm express -v
未显示您已安装的Express版本,它会显示npm
的版本。
要显示已安装的Express版本,请尝试以下操作:
npm ls express
答案 1 :(得分:4)
您需要在express
文件夹中本地安装node_modules
。检查node_modules
并重新安装(如果不存在)
答案 2 :(得分:2)
也许这不是你的问题,但是对于初学者来说,它往往会让全球和本地安装之间的区别混淆。如果您在代码中使用require('module_name')
,则必须使用npm install module_name
或使用package.json
中的依赖项在本地安装每个模块。
全局安装仅用于运行express my_new_project
等命令。
您可以使用npm list
列出所有已安装的本地模块以及所有运行npm list -g
的全局模块。
答案 3 :(得分:1)
如果您已安装全球快递,请检查以下内容
即使用命令npm install -g express
使用
检查代码中是否导入了快速模块var express = require('express')
在Windows上检查路径C:\Users\<user_name>\AppData\Roaming\npm
是否在PATH环境变量上
对于没有全球快速安装的安装
npm install express
var express = require('express')