使用nvm切换Node版本后命令失效、gatsby找不到及版本回退问题求助
问题解答
Node版本重启终端后重置是否正常
该现象属于正常情况。通过nvm use <版本号>执行的版本切换仅对当前终端会话生效,终端关闭后配置就会失效。
你可以通过两种方式设置持久化版本:
- 项目级绑定:在对应Gatsby项目根目录新建
.nvmrc文件,写入你需要使用的Node版本号(例:v14.19.0),后续每次进入该项目目录执行nvm use即可自动匹配对应版本 - 全局默认设置:执行
nvm alias default <目标版本号>,设置后重启终端也会默认使用指定的Node版本
解决gatsby: command not found报错
出现该报错的原因是npm全局包和Node版本绑定,你切换到新的Node版本后,原本在其他版本下安装的gatsby-cli不会同步到当前版本环境中。
你可以选择两种方案解决:
- 项目级调用(更推荐):进入项目根目录执行
npm install安装所有项目依赖,之后直接运行npx gatsby develop即可启动项目,无需全局安装gatsby-cli,也可避免多项目版本冲突 - 全局安装:切换到对应Node版本后,执行
npm install -g gatsby-cli,安装完成后即可直接调用gatsby相关命令
注意:不同Gatsby starter模板依赖的gatsby-cli版本可能存在差异,优先使用项目级npx调用兼容性更好
内容的提问来源于stack exchange,提问作者Zigoni
相关产品推荐
相关产品推荐

