在尝试使用任何全局模块时,我会收到错误, exemple:

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命令提示符:

node app.js
.

真的不知道发生了什么问题,我读了一些关于Windows中的环境变量的东西,这可以是吗?

已解决/更新

问题是:Windows环境变量未配置为NPM文件夹。 搜索NPM文件夹并在环境变量中添加路径。

有帮助吗?

解决方案

您应该在本地安装快递:

npm install express
.

然后根据您完成它:

var express = require('express')
.

其他提示

只是为了引用这里的报价:

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

  • 安装它本地如果您要要求()它。
  • 安装它全球如果您要在命令行上运行它。
  • 如果需要两者,请在两个地方安装它,或者使用 npm链接

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

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

*用实际系统用户名

替换[username]

我在Linux中工作,但是当我要求表达时,我这样做是以安装的相对路径,它适用它:

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

我相信同样的事情也可以使用Windows路径。如果您希望更明确并声明绝对路径,这将是核选项,以确保您始终完全知道您的模块从中加载的位置,无论您的脚本是否正在运行。

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

另一个选项将运行npm install --save快递

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top