nodejs require模块找不到怎么解决?

Posted 半夏微澜ぺ

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nodejs require模块找不到怎么解决?相关的知识,希望对你有一定的参考价值。

用npm全局安装模块后,有时在程序使用的时候require会报找不到模块,要如何解决?nodejs是在module.paths包含的目录列表中寻找模块的,所以,要解决这个问题就是将全局模块加入到module.paths目录列表中。

 

全局安装模块后在程序里面require这个模块报错,模块找不到。如下图所示,首先按照正常的方式npm install -g express全局安装express模块。然后在测试require(\'express\')报错

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

 

 

所以,一种解决方案是在程序中将npm全局安装路径添加到module.paths中。

module.paths.push(\'全局安装路径\')。然后再测试可行。

这种方案只对当前js有效。

 

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

 

 

 

其实,添加环境变量NODE_PATH后,我们再去查看module.paths时会发现环境变量中的路径也已经在module.paths中了。

所以,最方便的解决办法就是:npm prefix -g 找到全局安装的路径,然后添加到环境变量NODE_PATH中。

 

 

 

 

来自:https://m.html.cn/qa/node-js/10597.html

 

以上是关于nodejs require模块找不到怎么解决?的主要内容,如果未能解决你的问题,请参考以下文章

错误:找不到模块 AngularJS+NodeJs

找不到模块“newman”需要堆栈:

Firebase Admin Nodejs 找不到模块 service_account.json

为啥 nodejs 可能找不到“require”?

Nodejs全局安装模块后找不到命令的解决方法

在 React 中找不到所需的模块