node.js - Heroku git push 错误没有与节点匹配的版本:6.4.1
问题描述
我正在尝试将我的提交推送到 heroku,我的 npm 和节点版本是根据需要指定的。但我仍然收到错误消息“与远程不对应:Node.js 的任何已发布版本。”。
当我们检查错误详细信息时,我们看到它忽略了我的版本,并尝试为节点 6.4.1 而不是 npm 设置版本。
完整的 git 错误消息:
>git push heroku master
Counting objects: 417, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (194/194), done.
Writing objects: 100% (417/417), 116.10 KiB | 12.90 MiB/s, done.
Total 417 (delta 224), reused 399 (delta 215)
remote: Compressing source files... done.
remote: Building source:
remote:
remote: -----> Node.js app detected
remote:
remote: -----> Creating runtime environment
remote:
remote: NPM_CONFIG_LOGLEVEL=error
remote: NODE_ENV=production
remote: NODE_MODULES_CACHE=true
remote: NODE_VERBOSE=false
remote:
remote: -----> Installing binaries
remote: engines.node (package.json): 6.4.1
remote: engines.npm (package.json): unspecified (use default)
remote:
remote: Resolving node version 6.4.1...
remote: Could not find Node version corresponding to version requirement: 6.4.1
remote:
remote: -----> Build failed
remote:
remote: ! No matching version found for Node: 6.4.1
remote:
remote: Heroku supports the latest Stable version of Node.js as well as all
remote: active LTS (Long-Term-Support) versions, however you have specified
remote: a version in package.json (6.4.1) that does not correspond to
remote: any published version of Node.js.
remote:
remote: You should always specify a Node.js version that matches the runtime
remote: you’re developing and testing with. To find your version locally:
remote:
remote: $ node --version
remote: v6.11.1
remote:
remote: Use the engines section of your package.json to specify the version of
remote: Node.js to use on Heroku. Drop the ‘v’ to save only the version number:
remote:
remote: "engines": {
remote: "node": "6.11.1"
remote: }
remote:
remote: https://kb.heroku.com/why-is-my-node-js-build-failing-because-of-no-matching-node-versions
remote:
remote: ! Push rejected, failed to compile Node.js app.
remote:
remote: ! Push failed
remote: Verifying deploy...
remote:
remote: ! Push rejected to app.
remote:
To https://git.heroku.com/app.git
! [remote rejected] master -> master (pre-receive hook declined)
packpage.json 引擎节点:
"engines": {
"node": "10.14.1",
"npm": "6.4.1"
}
当我在我的机器上运行版本控制命令时:
node --version
v10.14.1
npm -version
6.4.1
解决方案
我已经想通了。有些文件没有添加到 git 中。
如果有人有同样的错误,如果你还没有添加你的应用程序的所有目录。
git add .
或者你只能添加 packpage.json
git add packpage.json
推荐阅读
- expect - 成功匹配并发送后没有期望发送的响应
- azure-ad-b2c - 将 azure-ad-b2c 与 splunk 一起使用
- python - 在python中遵循数字规则的所有可能数字的组合
- linux - Bash 超时命令在脚本中不起作用
- django - 想要在 postgresql 上运行测试:psycopg2.OperationalError
- jupyter-notebook - 根据真/假复选框在 Jupyter 笔记本中绘图
- tomcat - Tomcat启动时获取多个端口
- kubernetes - 如何通过prometheus获取kubernetes中节点的年龄
- python - python 中是否有与 Julia 的 eval(parse(String)) 等价的方法?
- arrays - 如何在 SAS 中转置表