首页 > 后台 > Node.js 报错 Cannot find module

Node.js 报错 Cannot find module

用node.js来抓取网页进行解析,用到了cheerio模块,按以下方法安装:

npm install cheerio

然而明明安装好了模块,可运行app.js时却遇到报错:Error: Cannot find module

2016050301375630

 

在StackOverflow上搜索这个问题,看到有人说安装模块时应该加个-g安装到全局中:

2016050301380861

按他说的试了一下,然而并没有什么卵用…….

 

那不妨看一看模块到底安装到哪里去了:

$ npm root -g
C:\Users\Adimnister\AppData\Roaming\npm\node_modules

按着这个路径找过去,果然看到了刚才安装的模块,这样好办了,把这个路径添加到环境变量里面就行了。我经常用Webstorm,就直接在Node.js配置里面的对应项目添加了:

2016050301383119

之所以报错是因为node运行没有到你安装模块的目录里面查找,配置环境变量后,问题解决。

 

附:—>>查看node运行时查找模块的路径的方法

进入node,输入“global.module.paths”回车

2016050301384312

从输出结果来看,node运行时会首先查找当前目录下的node_moudules,然后返回上一层目录继续寻找node_moudules,这样直到根目录后就转到系统盘的用户目录,最后再进入安装目录加载模块。

不过为了方便管理以及运行速度,还是把模块安装到项目的目录里,除非是经常用到的模块,才值得添加到全局里。

 


本文标题:Node.js 报错 Cannot find module
转载请注明出处,欢迎分享