无法更新Firebase版本:全局安装firebase-tools遇npm错误求助
先来看下你遇到的错误信息:
npm WARN 可选依赖项跳过:timed-out@^4.0.1(node_modules\firebase-tools\node_modules\got\node_modules\timed-out):
npm WARN 可选依赖项跳过:timed-out无有效版本可用
npm WARN 可选依赖项跳过:node-pre-gyp@^0.6.39(node_modules\firebase-tools\node_modules\grpc\node_modules\node-pre-gyp):
npm WARN 可选依赖项跳过:ELOOP: 遇到过多符号链接,打开'C:\Users\Kashish\AppData\Roaming\npm\node_modules\firebase-tools\node_modules\grpc\node_modules\node-pre-gyp\npm-shrinkwrap.json'失败
npm ERR! 错误代码 ENOVERSIONS
npm ERR! timed-out无有效版本可用
这个问题主要是npm缓存损坏、依赖源拉取异常,以及残留文件导致的符号链接循环问题,试试下面这些解决步骤:
清理npm缓存
缓存损坏可能导致版本拉取异常,先强制清理缓存:npm cache clean --force删除Firebase Tools的残留文件
之前的安装残留可能产生了循环符号链接,手动删除相关文件夹:- 打开路径
C:\Users\Kashish\AppData\Roaming\npm\node_modules,找到firebase-tools文件夹并删除 - 同时删除
C:\Users\Kashish\AppData\Roaming\npm下的firebase.cmd、firebase.ps1等相关脚本文件
- 打开路径
切换npm源(可选)
有时候官方源的网络问题会导致版本拉取不到,切换到国内镜像源试试:npm config set registry https://registry.npmmirror.com/指定具体版本安装
避免自动拉取版本时的异常,指定一个稳定的Firebase Tools版本安装(比如2018年常用的3.17.4,或者你需要的适配版本):npm install -g firebase-tools@3.17.4以管理员身份运行命令行
权限不足也可能导致文件操作异常,右键命令提示符选择「以管理员身份运行」,再执行安装命令。
完成这些步骤后,重新尝试安装应该就能解决问题了。
内容的提问来源于stack exchange,提问作者Kashish Sharma

