windows10下nvm安装某个版本nodejs,运行npm
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 :: 测试