前言
本人同时负责多个前端项目,本篇主要介绍不同项目依赖的Node版本管理问题。
node版本管理
之前已经写过一篇nodejs版本管理的文章,此处不再进行描述。
问题记录
切换高版本npm命令异常记录
版本切换
# nodejs v14.18.0 切换 v18.13.0
# 安装nodejs 18.13.0
nvm install 18.13.0
# 切换18.13.0版本
nvm use 18.13.0
执行npm命令
切换到高版本后,执行npm命令异常
原因分析
- 查看node安装目录
nvm 安装目录下对应的node版本文件夹, 一般安装完后,对应版本号的目录中会有npm和npm.cmd;可以看到node版本18.13.0文件夹下不存在npm和npm.cmd,因为nvm安装node的时候不知道什么原因没有安装相应的npm。
解决方案1
手动安装对应版本的npm。
- 查看node版本对应的npm
nodejs.org/zh-cn/downl… - npm下载地址:
npm.taobao.org/mirrors/npm…
- 下载后解压到对应版本的node_modules目录下
下载后解压到对应版本的node_modules目录下,将cli-8.19.2文件夹名称改为npm
- 复制npm和npm.cmd文件到v18.13.0文件夹下 将已修改文件夹名称为npm的目录下的bin中的npm和npm.cmd文件复制到v18.13.0文件夹下
- 执行命令查看结果
打开cmd 输入nvm ls 如果出现了对应版本即为安装成功
输入npm -v 如果出现了对应版本即为安装成功
- 切换到项目目录下安装依赖
如果能正常安装项目依赖,则问题成功解决,如果
npm 安装报错 npm ERR! Unexpected token ‘.’
,请尝试使用解决方案2
来解决。
解决方案2
既然使用nvm安装node的时候npm会出现错误,那么我们使用手动方式安装nvm需要管理的node版本。
- 卸载nvm安装的异常node版本
npm uninstall 18.13.0
-
下载需要的node版本 点击链接 nodejs.org/zh-cn/downl… 找到对应的node版本的node压缩包进行下载。
-
nvm目录下新建对应Node版本文件夹
-
将下载的node压缩包中的文件解压到对应node版本文件夹中
- 执行命令查看结果
打开cmd 输入nvm ls 如果出现了对应版本即为安装成功
输入npm -v 如果出现了对应版本即为安装成功
- 切换到项目目录下安装依赖 如果能正常安装项目依赖,则问题成功解决。