

我正在尝试将我的应用部署到heroku,我不断收到这样的错误消息,说它“未能检测到应用程序匹配.”结果被拒绝了。我按照heroku网站上说的那样做了,我一直困在那个推heroku大师的git上,我试着做了一些研究,我找不到解决的办法。

{
"name": "home-automation",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "node server/server.js"
},
"author": "",
"license": "ISC",
"dependencies": {
"express": "^4.15.3",
"johnny-five": "^0.11.3",
"socket.io": "^2.0.3"
}
}Server.js
var app = require('express')();
var server = require('http').Server(app);
var io = require('socket.io')(server);
var express = require("express");
var five = require("johnny-five");
var board = new five.Board({port:"COM4"});
const port = process.env.PORT || 3000;
app.use(express.static("public"))
io.on('connection', function (socket) {
console.log("New User Connected")
board.on("ready", function(){
socket.on("turnLightOn", function(data){
var led = new five.Led({
pin:"13"
});
if(data.status){
led.on();
}else{
led.off();
}
})
})
});
server.listen(port, function(){
console.log("Listening on port 3000")
});index.js
var socket = io();
$("#toggle-light").on("click", function(){
$("#led").toggle();
if($("#led").css("display") == "none"){
var status = false
}else{
var status = true
}
socket.emit("turnLightOn", {
status
})
})index.html
<html>
<head>
<title>Home Automation</title>
</head>
<body>
<h1>Home Automation</h1>
<button id="toggle-light">Toggle Light</button>
<div id="led" style="width:100px; height:100px; background:yellow;"></div>
<p id="moistureLevel"></p>
<script src="/socket.io/socket.io.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="/js/index.js"></script>
</body>
</html>发布于 2017-07-19 05:50:55
这意味着package.json文件不会被签入git项目的根目录,因此Heroku正在检测到它不是Node.js应用程序。您可以在本地看到这一点:
git show master:package.json要修复它,您需要确保项目根目录中有一个package.json (其中还有一个.git目录),并将其添加到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文件来验证是否有一个可以构建的节点应用程序。
https://stackoverflow.com/questions/45179205
复制相似问题