Win10下Node16.15.1执行所有npm命令均报Unexpected token '.'错误
npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead. npm ERR! Unexpected token '.'
执行任意npm命令都会返回上述相同报错,故障出现前npm/npx功能均运行正常。
当前系统配置
- 操作系统:Windows 10
- Node版本:v16.15.1
- npm版本:8.11.0
已尝试无效的修复操作
- 执行
npm cache clean --force,执行该命令时同样抛出上述错误 - 执行npm命令时附加
--location=global参数 - 修改npm与npm.cmd文件,将文件内的
prefix -g替换为prefix --location=global
修复方案
该问题是Node v16.15.1版本自带npm 8.11.0的已知兼容bug,按以下步骤操作即可修复:
- 完全卸载当前安装的Node.js,手动删除Node安装目录(默认路径为
C:\Program Files\nodejs)下的所有残留文件 - 打开当前用户目录下的
.npmrc配置文件(默认路径为C:\Users\当前系统用户名\.npmrc),清空文件内所有内容后保存 - 重新安装v16.16.0及以上版本的Node.js 16.x稳定版,安装完成后关闭所有已打开的命令行窗口再重新打开
- 若此前手动修改过npm、npm.cmd文件内容,先将文件还原为初始状态,新版本Node无需手动修改配置即可正常运行,
--global参数的弃用警告不会影响命令执行 - 命令行执行
npm -v,若正常返回版本号即说明修复完成 - 若使用nvm-windows管理多版本Node,无需卸载现有版本,直接执行
nvm install 16.16.0,安装完成后执行nvm use 16.16.0即可完成修复
内容的提问来源于stack exchange,提问作者basith
相关产品推荐
相关产品推荐

