执行firebase init时出现“Use of const in strict mode”错误求助
解决Firebase Init时的const语法错误问题
哎呀,你这问题我太熟了!根源就是你的Node.js版本实在太老啦——v0.12.7是2015年的老版本,对ES6的const语法支持特别有限,而现在新版本的firebase-tools依赖的boom包已经用上了ES6语法,这就导致在你的环境里触发了严格模式下的语法错误。
给你两个靠谱的解决方案:
方案一:升级Node.js和npm(强烈推荐)
这是最彻底的解决办法,毕竟Node.js v0.12.x早就停止维护了,不仅会遇到各种兼容性问题,还存在安全隐患。
- 先卸载旧版本的Node.js和npm:如果是Ubuntu这类Linux系统,就用
sudo apt remove nodejs npm;Mac用Homebrew的话就是brew uninstall node;Windows直接在控制面板卸载就行。 - 推荐用nvm来管理Node版本,它能让你轻松切换不同版本的Node,非常方便:
- 按照nvm的官方安装步骤完成安装(安装完记得重启终端,让配置生效)
- 安装最新的LTS长期支持版本:
nvm install --lts - 切换到这个新安装的版本:
nvm use --lts
- 现在检查一下版本:
node -v和npm -v,应该已经是较新的版本了 - 最后重新安装firebase-tools:
sudo npm install -g firebase-tools,再执行firebase init就没问题啦
方案二:安装兼容旧Node版本的firebase-tools旧版本
如果你暂时不想升级Node,也可以退而求其次,安装一个不依赖ES6语法的firebase-tools旧版本:
- 先卸载当前的firebase-tools:
sudo npm uninstall -g firebase-tools - 查看firebase-tools的所有历史版本:
npm view firebase-tools versions - 挑一个兼容Node.js v0.12.x的版本,比如v8.x系列的
firebase-tools@8.16.2,执行安装命令:sudo npm install -g firebase-tools@8.16.2 - 安装完成后再试试
firebase init,应该就能正常运行了
不过要提醒你,旧版本的firebase-tools会缺少很多新功能,所以还是优先考虑升级Node.js版本哦。
内容的提问来源于stack exchange,提问作者Vanessa Flores
相关产品推荐
相关产品推荐

