切换节点版本以在 heroku 上构建
Posted
技术标签:
【中文标题】切换节点版本以在 heroku 上构建【英文标题】:Switch node version for building on heroku 【发布时间】:2022-01-22 12:08:27 【问题描述】:在 Heroku 上构建我的 rails 应用程序时,我正在尝试获取节点版本到 14.18.2。我不确定如何更改此设置,因为我已将
"engines": "node": "14.18.2"
在我的 package.json 文件中。通过这样做,它可以完美地构建在我的本地/存储库上,但是,当部署到 heroku 并使用 heroku 构建时,它会给我这个错误
[1/5] Validating package.json...
error @: The engine "node" is incompatible with this module. Expected version "14.18.2". Got "16.13.1"
error Found incompatible module.
如何更改它以使用我需要的版本进行构建?
这是我的构建包
1. https://github.com/gaffneyc/heroku-buildpack-jemalloc.git
2. heroku/metrics
3. heroku/ruby
感谢您的帮助!
【问题讨论】:
【参考方案1】:为什么要添加“heroku/metrics” buildpack,它应该是“heroku/nodejs”,然后将更改推送到主分支。 并确保以第一顺序制作heroku/nodejs。 所以当你运行时
heroku buildpacks -a your_app_name
-
heroku/nodejs
heroku/红宝石
检查这个https://devcenter.heroku.com/articles/ruby-support#installed-binaries
要查看 heroku 上的应用程序,您应该在 app.json 文件中添加 buildpacks
"buildpacks": [
"url": "heroku/nodejs"
,
"url": "heroku/ruby"
]
这也很有用。 Heroku fails during build with Error: Node Sass does not yet support your current environment: Linux 64-bit with Unsupported runtime (93)
【讨论】:
以上是关于切换节点版本以在 heroku 上构建的主要内容,如果未能解决你的问题,请参考以下文章
构建应用程序以在单个 UITableView 中显示两个列表的最佳方法是啥(在数据集之间切换)