我GIT克隆了的Node.js应用程序(在指定的版本package.json存在4.1.2和我的本地机器的存在6.2.2),并试图在Heroku混帐推。但是它无法建立并给出了这个错误:
package.json
4.1.2
6.2.2
无法检测到设置的buildpack https://codon-buildpacks.s3.amazonaws. com / buildpacks / heroku / nodejs.tgz
现在,我将buildpack设置为heroku / nodejs,并得到以下消息:
Buildpack set. Next release on lit-badlands-92088 will use heroku/nodejs. Run git push heroku master to create a new release using this buildpack.
现在,当我跑步时git push heroku master,我再次被告知:
git push heroku master
remote: -----> Failed to detect set buildpack https://codon-buildpacks.s3.amazonaws.com/buildpacks/heroku/nodejs.tgz remote: More info: https://devcenter.heroku.com/articles/buildpacks#detection-failure remote: remote: ! Push failed remote: Verifying deploy... remote: remote: ! Push rejected to lit-badlands-92088.
即使我将其设置为未检测到Node.js buildpack的可能原因是什么?
这意味着没有将package.json文件检入git项目的根目录,因此Heroku正在检测到它不是Node.js应用程序。您可以在本地看到此内容:
git show master:package.json
要修复它,您需要确保在项目的根目录(还有一个.git目录)中有一个package.json,并将其添加到git中:
git add package.json git commit -m 'track package.json'
措辞(“无法检测到设置的构建包”)可以得到改善。它可能应该说“未能检测到Node.js应用程序”。运行buildpack的“检测”脚本(https://github.com/heroku/heroku- buildpack-nodejs/blob/master/bin/detect)时,它将查找package.json文件以验证是否存在节点应用程序可以建造。