npm 安裝了 appium 和 appium-doctor 運行命令,appium-doctor 提示找不到模塊:
C:\Users\autotest>appium
module.js:471
throw err;
^
Error: Cannot find module 'C:\Windows\System32\node_modules\appium\bin\appium.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:\Users\autotest>
appium 是通過-g 全局安裝的,安裝的目錄為:C:\Users\autotest\AppData\Roaming\npm
執行命令獲取:
C:\Users\autotest>npm config get prefix
C:\Users\autotest\AppData\Roaming\npm
設置環境變量都不起作用,重新安裝nodejs 、npm 安裝appium-doctor 再運行都不行。磁盤搜索"appium" 關鍵字,發現"C:\Windows\System32"下面有appium 和appium-doctor 文件。原來執行的都是這個地方的命令,而這個目錄下面的node_modules 文件夾早就被刪除了。所以出現這個提示:
回想事情發生的原因,原來是通過管理員運行cmd ,默認進入的目錄是:C:\Windows\System32 。有次執行安裝appium 沒有使用參數-g 導致就直接在這個目錄下面安裝了appium 和appium-doctor ,生成了appium、appium-doctor文件 和一個目錄C:\Windows\System32\node_modules。只刪除了 目錄C:\Windows\System32\node_modules,而沒有刪除C:\Windows\System32 下面的相關文件。
總結:以后遇到類似找不到模塊,解決問題方法:直接進入提示的路徑的node_nodules 上一層目錄,如提示:C:\Windows\System32\node_modules\appium\bin\appium.js 進入目錄C:\Windows\System32,刪除輸入的命令即可