Nodejs无法找到模块

时间:2014-01-10 14:37:40

标签: node.js node-modules

尝试使用任何全局模块时出错, 为例:

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:\BitNami\wappstack\...\test\app.js)
    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)

我安装了快速命令:

npm install -g express

我的app.js:

var express = require('express');

使用windows powershell或node.js命令提示符windows:

运行它
node app.js

我真的不知道出了什么问题,我在windows中阅读了一些关于环境变量的内容,可以吗?

已解决/更新

问题是:没有为npm文件夹配置Windows环境变量。 搜索您的npm文件夹并在环境变量中添加路径。

5 个答案:

答案 0 :(得分:14)

从这里引用:

https://www.npmjs.org/doc/files/npm-folders.html

  • 如果你想要()它,可以在本地安装它。
  • 如果您要在命令行上运行它,请将其全局安装。
  • 如果您需要两者,请在两个地方安装,或使用 npm链接

答案 1 :(得分:13)

您应该在本地安装Express:

npm install express

然后像你一样要求它:

var express = require('express')

答案 2 :(得分:13)

我在Windows 7 / x64上遇到同样的错误,并在环境变量中添加以下内容解决了问题:

NODE_PATH=C:\Users\[USERNAME]\AppData\Roaming\npm\node_modules

*将[USERNAME]替换为您的实际系统用户名

答案 3 :(得分:4)

我在Linux上工作,但是当我需要快递时,我正在通过安装它的相对路径这样做,并且工作正常:

var express = require('./public/node_modules/express');

我确信同样的东西也适用于Windows路径。如果你想要更明确并声明一个绝对路径,这将是核选项,以确保你始终知道你的模块的确切位置,无论你的脚本在哪里运行。

如果在使用显式路径后仍有问题,我不知道问题可能是什么。 。 。

答案 4 :(得分:0)

另一个选项是运行npm install --save express