首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Nodejs找不到模块

Nodejs找不到模块
EN

Stack Overflow用户
提问于 2014-01-10 22:37:40
回答 4查看 70.9K关注 0票数 21

我在尝试使用任何全局模块时遇到错误,例如:

代码语言:javascript
复制
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)

我安装了express命令:

代码语言:javascript
复制
npm install -g express

我的app.js:

代码语言:javascript
复制
var express = require('express');

并使用windows powershell或node.js命令提示符窗口运行它:

代码语言:javascript
复制
node app.js

我真的不知道出了什么问题,我在windows中读到了一些关于环境变量的东西,这是可能的吗?

已解决/更新

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

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-04-18 01:38:50

您应该在本地安装Express:

代码语言:javascript
复制
npm install express

然后像你做的那样要求它:

代码语言:javascript
复制
var express = require('express')
票数 13
EN

Stack Overflow用户

发布于 2014-10-21 14:31:02

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

代码语言:javascript
复制
NODE_PATH=C:\Users\[USERNAME]\AppData\Roaming\npm\node_modules

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

票数 13
EN

Stack Overflow用户

发布于 2014-01-11 03:09:55

我在Linux上工作,但当我需要express时,我会使用到它安装位置的相对路径来执行此操作,并且它工作得很好:

代码语言:javascript
复制
var express = require('./public/node_modules/express');

我确信同样的事情也适用于windows path。如果你想更明确地声明一个绝对路径,这将是一个核心选项,以确保你总是准确地知道你的模块是从哪里加载的,无论你的脚本是从哪里运行的。

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

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21047030

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档