nodejs require模块找不到怎么解决?
1、笔者今天学习nodejs时遇到一个问题,全局安装模块后在程序里面require这个模块报错,模块找不到。如下图所示,首先按照正常的方式npm install -g express全局安装express模块。然后在测试require('express')报错。

2、那么问题就出在nodejs怎么查找模块上。首先,我们要知道npm全局安装到底把模块安装到了哪个目录下面。在终端运行npm prefix -g命令会打印出安装路径。而nodejs查找模块是在module.paths目录列表下面查找的。

3、所以,一种解决方案是在程序中将npm全局安装路径添加到module.paths中。
module.paths.push('全局安装路径')。然后再测试可行。
这种方案只对当前js有效。

4、另一种是添加环境变量NODE_PATH,值就设置成全局安装路径。如图中所示,添加后测试可行。


5、其实,添加环境变量NODE_PATH后,我们再去查看module.paths时会发现环境变量中的路径也已经在module.paths中了。
所以,最方便的解决办法就是:npm prefix -g 找到全局安装的路径,然后添加到环境变量NODE_PATH中。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:25
阅读量:111
阅读量:160
阅读量:169
阅读量:109