无法将全局Gatsby从2.12.78升级到3.X版本问题求助
解决步骤
- 先定位当前执行的gatsby来源,执行对应命令获取路径:
- macOS/Linux 运行:
which gatsby - Windows 运行:
where gatsby
- macOS/Linux 运行:
- 查看全局npm安装的gatsby-cli版本,运行:
npm list -g gatsby-cli
场景1:全局版本已为3.10.0,和gatsby --version输出不一致
说明PATH优先级异常,优先读取了其他位置的旧版本:
- 检查你是否在某个Gatsby项目目录下执行命令,项目本地
node_modules中存在旧版gatsby-cli,可在项目内执行npm uninstall gatsby-cli移除本地版本,或运行npx gatsby --version强制使用全局版本 - 如果你使用nvm、n等Node版本管理工具,确认当前激活的Node版本和安装全局包的Node版本一致,切换到对应Node版本后重新执行全局安装命令即可
场景2:全局版本仍为2.12.78
说明全局安装未生效,按以下步骤操作:
- 卸载全局旧版本:
sudo npm uninstall -g gatsby-cli(无sudo权限就去掉前缀) - 清理npm缓存:
npm cache clean --force - 安装指定最新版本:
sudo npm i -g gatsby-cli@latest
额外注意:如果你之前用yarn全局安装过gatsby-cli,npm的更新操作不会覆盖yarn安装的版本,执行
yarn global remove gatsby-cli删除旧版即可解决问题
内容的提问来源于stack exchange,提问作者Josh
相关产品推荐
相关产品推荐

