因使用 Vite 构建工具,对node的版本有一定的要求,于是使用了nvm切换指定node版本后,发现npm命令无法使用。
如下所示:
按照上图错误描述,去nvm的安装路径下(通常为c:\users<your user>\AppData\Roaming\nvm)对应的node版本下找npm文件,发现node_modules文件夹为空。
一、问题原因
通过搜索发现有许多人切换node版本都存在着同样的问题。
基本意思就是说npm的仓库已经从GitHub - npm/npm: This repository is moving to: https://github.com/npm/cli移到GitHub - npm/cli: the package manager for JavaScript了,但NVM v1.1.7并没有做相应的调整,所以通过 nvm install 安装 Node.js 时对应的npm实际上并没有安装成功,不过NVM此时并没有报告任何错误,而是仍然显示已安装成功。
二、解决步骤
从Node.js官网下载对应版本的压缩包,将其中node_modules目录下的内容,拷贝到NVM目录下对应Node.js安装目录中的node_modules中。如果NVM目录下有多个Node.js版本,则需要手动拷贝每个Node.js版本中node_modules目录的内容。
1.node版本对应npm版本查询
2.下载对应版本的npm
https://nodejs.org/download/release/切换的node版本号/
例如:
Index of /download/release/v20.2.0/https://nodejs.org/download/release/v20.2.0/
下载成功后解压文件,把解压后的 node_modules/npm 拷贝到 nvm 目录下对应的node版本node_module目录中,输入 npm -v 检验。
总结
以上就是今天的记录啦,希望能对大家有所帮助~