Node.js – 显示“MODULE_NOT_FOUND”的全局安装模块

我正在使用Node.js作为一个项目。 我使用全局安装WebdriverIO

npm install -g webdriverio

在我的一个文件中,我有:

file.js

 var webdriverio = require('webdriverio'); 

当这个文件被加载时,在控制台中出现错误:

 Message: Cannot find module 'webdriverio' Details: code: MODULE_NOT_FOUND 

如果我注释掉这行var webdriverio = ... ,我的代码运行良好。

考虑到我已经安装了webdriverio全球,我不明白为什么我得到这个问题。

您需要在本地为您的应用程序,运行npm install webdriverio在您的应用程序的根目录。

Node.js require查看本地node_modules文件夹。

检查此链接以了解如何从全局模块文件夹加载模块:

https://nodejs.org/api/modules.html#modules_loading_from_the_global_folders

如果NODE_PATH环境variables设置为以冒号分隔的绝对path列表,则节点将search这些path以查找在别处没有find的模块。 (注意:在Windows上,NODE_PATH由分号而不是冒号分隔。)

当你全球安装,你应该去你的应用程序的根,并打电话给:

npm链接webdriverio

PS不需要调用npm install,因为你将最终有两个单独的模块安装,一个在全局,另一个在你本地的node_modules文件夹中

节点仅在node_modules文件夹中查找模块(从当前文件夹开始,然后查看上面的文件夹)。 为了使它工作,你也必须在本地安装这个包。

 npm install webdriverio