windows10下nvm安装某个版本nodejs,运行npm -v报错

1 问题

C:\Users\Administrator>npm -v

internal/modules/cjs/loader.js:584   throw err;   ^

Error: Cannot find module 'C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js'    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:582:15)    at Function.Module._load (internal/modules/cjs/loader.js:508:25)    at Function.Module.runMain (internal/modules/cjs/loader.js:754:12)    at startup (internal/bootstrap/node.js:283:19)    at bootstrapNodeJSCore (internal/bootstrap/node.js:622:3)

internal/modules/cjs/loader.js:584   throw err;   ^

Error: Cannot find module 'C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js'    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:582:15)    at Function.Module._load (internal/modules/cjs/loader.js:508:25)    at Function.Module.runMain (internal/modules/cjs/loader.js:754:12)    at startup (internal/bootstrap/node.js:283:19)    at bootstrapNodeJSCore (internal/bootstrap/node.js:622:3)

错误提示

2 情景

(1)  刚换的系统,纯净安装nvm

(2) 使用nvm下载了8.12.0版本的node:

        node版本: 8.12.0

        npm版本:  6.4.1

(4) 切换node版本: nvm use 10.15.3

(5) 查看node版本: node -v

(6) 报错: 查看npm版本: npm -v

2 分析问题

(1) 安装8.12.0版本时同时安装了npm

(2) 在安装10.15.3版本时也同时安装了npm,说明是每个node版本附带一个相应的npm

(3) 查找原因:

1️⃣ 查看nvm安装node的目录: nvm root

nvm目录

2️⃣ 检查 问题发生时的10.15.3的node_modules目录

正常的8.12.0的node_modules目录

3️⃣ 由上面的3张图,显然发现了问题: npm模块没有安装成功

3 所以解决方案就是

        多安装几次  /假装捂脸

    不过经过无数次测试, 倒是发现一个减少错误发生率的方法:

         在安装新的node时,先取消node版本的选择,再安装,这样就很大情况下能保证正确安装了,具体步骤如下:

①  nvm off                    :: 禁用管理,取消选中的node版本

② nvm install xx.xx.xx  :: 安装某个版本

③ nvm use xx.xx.xx     :: 切换安装的版本

④ npm -v                      :: 测试

你可能感兴趣的:(windows10下nvm安装某个版本nodejs,运行npm -v报错)