Node.js 报错 Cannot find module
用node.js来抓取网页进行解析,用到了cheerio模块,按以下方法安装:
npm install cheerio
然而明明安装好了模块,可运行app.js时却遇到报错:Error: Cannot find module
在StackOverflow上搜索这个问题,看到有人说安装模块时应该加个-g安装到全局中:
按他说的试了一下,然而并没有什么卵用…….
那不妨看一看模块到底安装到哪里去了:
$ npm root -g
C:\Users\Adimnister\AppData\Roaming\npm\node_modules
按着这个路径找过去,果然看到了刚才安装的模块,这样好办了,把这个路径添加到环境变量里面就行了。我经常用Webstorm,就直接在Node.js配置里面的对应项目添加了:
之所以报错是因为node运行没有到你安装模块的目录里面查找,配置环境变量后,问题解决。
附:—>>查看node运行时查找模块的路径的方法
进入node,输入“global.module.paths”回车
从输出结果来看,node运行时会首先查找当前目录下的node_moudules,然后返回上一层目录继续寻找node_moudules,这样直到根目录后就转到系统盘的用户目录,最后再进入安装目录加载模块。
不过为了方便管理以及运行速度,还是把模块安装到项目的目录里,除非是经常用到的模块,才值得添加到全局里。
本文标题:Node.js 报错 Cannot find module
转载请注明出处,欢迎分享