【问题标题】:Why am I getting an error about my node version when I have a newer version than is requested?当我的节点版本比请求的版本新时,为什么会收到有关我的节点版本的错误?
【发布时间】:2021-05-09 19:18:17
【问题描述】:
我正在开发一个使用 heroku 部署的 React 项目。我刚刚对 master 进行了更新,但管道失败了。我见过其他人在收到“引擎“节点”与此模块不兼容时询问该怎么办。”当他们有旧版本的节点时出错。但是,我的管道故障表明“预期版本“12.18.1”。得到“10.23.0””。由于我的项目中有更新版本的节点,我对此有点困惑。我从项目的 repo 克隆的文件是我正在使用的版本,因为我已经验证之前的提交也使用 12.18.1 版本。有人对此有想法吗?
【问题讨论】:
标签:
node.js
reactjs
heroku
node-modules
【解决方案1】:
您可能需要区分您的本地版本和部署时在 heroku 上使用的版本。检查此documenation link。复制如下
您应该始终指定与您正在开发和测试的运行时相匹配的 Node.js 版本。在本地查找您的版本:
node --version
首先,确保您的应用程序使用的是 heroku/nodejs 构建包
heroku buildpacks
现在,使用 package.json 的引擎部分来指定要在 Heroku 上使用的 Node.js 版本。删除“v”以仅保存版本号:
{
"name": "myapp",
"description": "a really cool app",
"version": "1.0.0",
"engines": {
"node": "12.x"
}
}
建议在补丁中使用 x 以从 Node.js 获取最新的补丁更新。也可以指定次要范围(例如 12.16)和精确版本(例如 12.16.3)。