我正在將我的節點應用程序部署到Heroku,它試圖用nodemon調用它,而不是我已經定義的node app.js
。我Procfile看起來是這樣的:Heroku無法啓動我的節點應用程序,因爲它試圖使用nodemon來執行它
web: npm start
當我推這個錯誤的Heroku到了極致崩潰:
2014-03-24T19:24:59.669412+00:00 app[web.1]: > [email protected] start /app
2014-03-24T19:24:59.669412+00:00 app[web.1]: > nodemon app.js
2014-03-24T19:24:59.669412+00:00 app[web.1]:
2014-03-24T19:24:59.669412+00:00 app[web.1]:
2014-03-24T19:24:59.710228+00:00 app[web.1]:
2014-03-24T19:24:59.701246+00:00 app[web.1]: sh: nodemon: not found
我甚至嘗試NPM安裝nodemon作爲的package.json依賴,並在node_modules檢查/ nodemon,但沒有運氣。 (nodemon需要與npm install nodemon -g
一起安裝才能正常工作)
任何想法?
我的package.json:
{
"name": "my-app",
"version": "0.0.1",
"private": true,
"main": "app.js",
"scripts": {
"start": "node app.js"
},
"dependencies": {
"requirejs": "~2.1.10",
"underscore": "~1.5.2",
"express": "~3.4.8",
"ejs": "~0.8.5",
"less-middleware": "~0.1.15",
"socket.io": "~0.9.16",
"tail": "~0.3.5",
"async": "~0.2.10",
"mongoose": "~3.8.5",
"mkdirp": "~0.3.5",
"ejs-locals": "~1.0.2",
"aws-sdk": "~2.0.0-rc8",
"knox": "~0.8.8",
"connect-multiparty": "~1.0.3",
"uuid": "~1.4.1",
"nodemon": "~1.0.14"
},
"devDependencies": {
"grunt": "~0.4.2",
"grunt-contrib-clean": "~0.5.0",
"grunt-contrib-copy": "~0.4.1",
"grunt-contrib-requirejs": "~0.4.1",
"grunt-recess": "~0.5.0",
"grunt-contrib-cssmin": "~0.7.0",
"grunt-mocha-test": "~0.9.0",
"grunt-forever": "~0.4.1",
"matchdep": "~0.3.0",
"jshint": "~2.4.3",
"precommit-hook": "~0.3.10",
"mocha": "~1.17.1",
"supertest": "~0.9.0",
"chai": "~1.9.0",
"sinon": "~1.8.2",
"karma-sinon": "~1.0.2",
"karma-script-launcher": "~0.1.0",
"karma-chrome-launcher": "~0.1.2",
"karma-firefox-launcher": "~0.1.3",
"karma-requirejs": "~0.2.1",
"karma-html2js-preprocessor": "~0.1.0",
"karma-jasmine": "~0.1.5",
"karma-coffee-preprocessor": "~0.1.3",
"karma-phantomjs-launcher": "~0.1.2",
"karma": "~0.10.9",
"karma-mocha": "~0.1.1",
"grunt-karma": "~0.6.2",
"karma-chai": "~0.1.0"
},
"config": {
"precommit": {
"lint": true
}
},
"engines": {
"node": "0.10.x"
}
}
更新
對不起,讓大家留下掛這麼長的時間!如果我沒有記錯,最後我的問題是我的buildpack在我的Procfile中覆蓋了web:角色。
因爲我已經切換到不同的buildpacks,即: ddollar/Heroku的-buildpack的多
用下面.buildpacks文件:
ryandotsmith/nginx-buildpack
heroku/heroku-buildpack-nodejs
而且我Procfile看起來是這樣的:
web: bin/start-nginx ./node_modules/.bin/forever --minUptime 10000 --spinSleepTime 1000 app.js
完成,沒有運氣。我已經從package.json中刪除了腳本和nodemon dep,並且我的Procfile是這樣的:'''web:node app.js'''還有一點是當我heroku ps我得到這個: ''= == web(1X):'npm start' web.1:crashed 2014/03/24 16:18:05(~1m前)''' 我沒有提到npm start或nodemon。它來自哪裏? –
掛上我已經知道我一直在做錯了什麼,它與heroku沒有任何關係。感謝您的幫助! –
偉大你找出問題! :D別擔心,很高興。 – diosney