1 問題起因:在node.js與npm已安裝的情況下,重新安裝了舊版npm3.0。導致執行npm 任何命令都報錯:“Cannot find module 'internal/util/types'”(有點崩潰...)
2 分析:通常情況下,node.js安裝時,npm也會同時安裝。若node.js版本升級時或npm版本降級時,通常會與環境發勝沖突。
3 解決辦法:
1 先卸載npm:linux命令:sudo npm uninstall npm -g;window命令:npm uninstall npm -g。【或者:npm 指令無法執行時,進到npm的安裝目錄 /usr/local/lib/node_modules/npm/ ,執行:make uninstall】
2 若1步驟失效(我就是),先卸載node.js,此時可執行npm uninstall npm -g 卸載命令。然后cmd命令行輸入npm -p 是否提示“命令無效”。【此時我發現npm並沒有完全清除,因為再次安裝最新版本的npm 5.7時,npm 命令任然報錯“Cannot find module 'internal/util/types'”】,此時也不要安裝node.js。需要手動進入npm 目錄刪除相關所有文件(包括npm-cache文件)。
3 此時npm環境一片清明。開始安裝最新版本的npm ,版本5.7.1【更新指定版本命令:npm install npm@5.7.1 -g】。
4 然后安裝node.js(最新版9.6.1),防止沖突。查看npm版本:npm -v;查看node版本:node -v。(完美解決)