执行npm安装模块的命令 Cannot find module

npm 安装了 appium 和 appium-doctor 运行命令,appium-doctor 提示找不到模块:

C:Usersautotest>appium
module.js:471
throw err;
^

Error: Cannot find module 'C:WindowsSystem32 ode_modulesappiuminappium.js
'
at Function.Module._resolveFilename (module.js:469:15)
at Function.Module._load (module.js:417:25)
at Module.runMain (module.js:604:10)
at run (bootstrap_node.js:394:7)
at startup (bootstrap_node.js:149:9)
at bootstrap_node.js:509:3

C:Usersautotest>

appium 是通过-g 全局安装的,安装的目录为:C:UsersautotestAppDataRoaming pm

执行命令获取:

C:Usersautotest>npm config get prefix

C:UsersautotestAppDataRoaming pm

设置环境变量都不起作用,重新安装nodejs 、npm 安装appium-doctor 再运行都不行。磁盘搜索"appium" 关键字,发现"C:WindowsSystem32"下面有appium 和appium-doctor 文件。原来执行的都是这个地方的命令,而这个目录下面的node_modules 文件夹早就被删除了。所以出现这个提示:

回想事情发生的原因,原来是通过管理员运行cmd ,默认进入的目录是:C:WindowsSystem32 。有次执行安装appium 没有使用参数-g 导致就直接在这个目录下面安装了appium 和appium-doctor ,生成了appium、appium-doctor文件 和一个目录C:WindowsSystem32 ode_modules。只删除了 目录C:WindowsSystem32 ode_modules,而没有删除C:WindowsSystem32 下面的相关文件。

总结:以后遇到类似找不到模块,解决问题方法:直接进入提示的路径的node_nodules 上一层目录,如提示:C:WindowsSystem32 ode_modulesappiuminappium.js 进入目录C:WindowsSystem32,删除输入的命令即可

原文地址:https://www.cnblogs.com/testway/p/6229545.html