报错描述
使用nvm控制node版本(20.5.0)
下载安装完成后node -v不报错,npm -v报错
C:\Users\Admin>npm -v
C:\Users\Admin\AppData\Roaming\nvm\v20.5.0\node_modules\npm\lib\es6\validate-engines.js:31
throw err
^
Error: Cannot find module '@npmcli/config'
Require stack:
- C:\Users\Admin\AppData\Roaming\nvm\v20.5.0\node_modules\npm\lib\npm.js
- C:\Users\Admin\AppData\Roaming\nvm\v20.5.0\node_modules\npm\lib\cli-entry.js
- C:\Users\Admin\AppData\Roaming\nvm\v20.5.0\node_modules\npm\lib\cli.js
- C:\Users\Admin\AppData\Roaming\nvm\v20.5.0\node_modules\npm\bin\npm-cli.js
at Module._resolveFilename (node:internal/modules/cjs/loader:1048:15)
at Module._load (node:internal/modules/cjs/loader:901:27)
at Module.require (node:internal/modules/cjs/loader:1115:19)
at require (node:internal/modules/helpers:119:18)
at Object.<anonymous> (C:\Users\Admin\AppData\Roaming\nvm\v20.5.0\node_modules\npm\lib\npm.js:2:16)
at Module._compile (node:internal/modules/cjs/loader:1233:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1287:10)
at Module.load (node:internal/modules/cjs/loader:1091:32)
at Module._load (node:internal/modules/cjs/loader:938:12)
at Module.require (node:internal/modules/cjs/loader:1115:19) {
code: 'MODULE_NOT_FOUND',
requireStack: [
'C:\\Users\\Admin\\AppData\\Roaming\\nvm\\v20.5.0\\node_modules\\npm\\lib\\npm.js',
'C:\\Users\\Admin\\AppData\\Roaming\\nvm\\v20.5.0\\node_modules\\npm\\lib\\cli-entry.js',
'C:\\Users\\Admin\\AppData\\Roaming\\nvm\\v20.5.0\\node_modules\\npm\\lib\\cli.js',
'C:\\Users\\Admin\\AppData\\Roaming\\nvm\\v20.5.0\\node_modules\\npm\\bin\\npm-cli.js'
]
}
npm i也报错
npm i
npm : 无法将“npm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。
所在位置 行:1 字符: 1
+ npm i
+ ~~~
+ CategoryInfo : ObjectNotFound: (npm:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
解决
- 降低node版本,我是降低到16.0.0就解决了(node -v、npm -v、 npm i全部正常)
- 网上还看到更新nvm版本到最新的。如果第一个方法没用或者不想降低node版本的可以试一下第二个方法。我是第一个方法就可以了。
最后
感觉nvm坑有点多...