将 Ember.js 应用程序部署到 Heroku 时如何解决“无法下载节点 14.18.0”?
Posted
技术标签:
【中文标题】将 Ember.js 应用程序部署到 Heroku 时如何解决“无法下载节点 14.18.0”?【英文标题】:How to resolve "Unable to download node 14.18.0" when deploying an Ember.js app to Heroku? 【发布时间】:2021-12-18 12:02:47 【问题描述】:我遇到了标题中提到的错误。
我参考了一些相关的 Heroku 文章并尝试了他们建议的更改,包括指定我在本地使用的 Node.js、Yarn 或 npm 的确切版本,但这仍然不起作用。
以下是从我的package.json
中提取的相关部分:
"engines":
"node": "14.18.0",
"npm": "6.14.15",
"yarn": "1.19.1"
,
"ember":
"edition": "octane"
这是部署日志:
Enumerating objects: 1134, done.
Counting objects: 100% (1134/1134), done.
Delta compression using up to 4 threads
Compressing objects: 100% (1027/1027), done.
Writing objects: 100% (1134/1134), 309.32 KiB | 2.64 MiB/s, done.
Total 1134 (delta 581), reused 0 (delta 0), pack-reused 0
remote: Compressing source files... done.
remote: Building source:
remote:
remote: -----> Building on the Heroku-20 stack
remote: -----> Using buildpack: https://codon-buildpacks.s3.amazonaws.com/buildpacks/heroku/emberjs.tgz
remote: -----> emberjs app detected
remote: -----> Setting NPM_CONFIG_PRODUCTION to false to install ember-cli toolchain
remote: -----> Fetching buildpack heroku/nodejs-v98
remote: -----> Node.js detected
remote:
remote: -----> Creating runtime environment
remote:
remote: NPM_CONFIG_PRODUCTION=false
remote: NPM_CONFIG_LOGLEVEL=error
remote: NODE_VERBOSE=false
remote: NODE_ENV=production
remote: NODE_MODULES_CACHE=true
remote:
remote: -----> Installing binaries
remote: engines.node (package.json): 14.18.0
remote: engines.npm (package.json): 6.14.15
remote:
remote: Downloading and installing node 14.18.0...
remote: Unable to download node 14.18.0; does it exist?
remote:
remote: -----> Build failed
remote:
remote: We're sorry this build is failing! You can troubleshoot common issues here:
remote: https://devcenter.heroku.com/articles/troubleshooting-node-deploys
remote:
remote: If you're stuck, please submit a ticket so we can help:
remote: https://help.heroku.com/
remote:
remote: Love,
remote: Heroku
remote:
remote: -----> Failed trying to compile heroku/nodejs-v98
remote: ! Push rejected, failed to compile emberjs app.
remote:
remote: ! Push failed
remote: !
【问题讨论】:
你在构建过程中检查过日志吗?看看它们会有很大帮助。 我想知道有没有比我从控制台中提取并附加在我的问题中的日志更详细的日志?如果是这样,我可以知道如何访问此类日志吗? 你安装了heroku-cli吗?有可以获取日志的命令。检查this 根据您分享的链接,我检查了“活动”选项卡下的构建日志。它恰好与我控制台上显示的日志相同,我将其提取并附加到我的问题中。我认为它的要点是:无法下载节点 14.18.0;它存在吗? 这是一篇旧文章,但指定旧版本的节点可能会起作用:help.heroku.com/6235QYN4/…(不是 6 或类似的东西,但可能是更早的 v14) 【参考方案1】:根据这个Heroku page,支持12.x
、14.x
和16.x
版本。
当这些版本号在package.json
文件中指定时,在 Heroku 构建过程中,这些版本号将被解析为最新的补丁版本,例如截至撰写本文时,12.22.7
、14.18.1
和 16.13.0
。
Heroku 不知何故无法下载每个主要系列的最新版本。
在我最初的问题中,我在本地使用了版本14.18.0
,并且该版本在package.json
中指定。 Heroku 似乎也无法下载该版本。
我仔细检查了这个Heroku Help page 并注意到版本12.16.3
在说明如何比较Node 和npm 版本时在示例中给出。我更新了我的package.json
以使用12.16.3
并重试部署,它成功了。
我尝试搜索,但遗憾的是找不到任何 Heroku 帮助页面,该页面指定了他们支持的确切 Node.js 版本号。
【讨论】:
以上是关于将 Ember.js 应用程序部署到 Heroku 时如何解决“无法下载节点 14.18.0”?的主要内容,如果未能解决你的问题,请参考以下文章