Node.js Heroku部署在bower安装时以静默方式失败
我是Heroku的新手,发现自己无法(通过Travis)将我的应用程序部署到Heroku。我的应用程序是一个JavaScript应用程序,使用node/npm和bower来管理它的依赖关系。我的问题是,在部署时,应用程序会立即崩溃 我认为问题发生在Node.js Heroku部署在bower安装时以静默方式失败,node.js,heroku,bower,Node.js,Heroku,Bower,我是Heroku的新手,发现自己无法(通过Travis)将我的应用程序部署到Heroku。我的应用程序是一个JavaScript应用程序,使用node/npm和bower来管理它的依赖关系。我的问题是,在部署时,应用程序会立即崩溃 我认为问题发生在package.json中的postinstall钩子中,我尝试在那里安装bower 我启用了详细日志记录,但这并没有让我深入了解这个问题 首先,我的package.json,它相当标准: { "name": "MyApp", "private
package.json
中的postinstall
钩子中,我尝试在那里安装bower
我启用了详细日志记录,但这并没有让我深入了解这个问题
首先,我的package.json
,它相当标准:
{
"name": "MyApp",
"private": false,
"version": "0.0.0",
"description": "An AngularJS interface for The MovieDB",
"repository": "https://github.com/....myrepo",
"license": "MIT",
"devDependencies": {
"http-server": "^0.8.5"
},
"scripts": {
"postinstall": "bower install",
"start": "npm install"
},
"dependencies": {
"bower": "^1.5.3",
"angular-ui-router": "^0.2.15"
}
}
和标准的bower.json
{
"name": "MyApp",
"dependencies": {
"angular": "1.4.x",
"angular-route": "1.4.x",
"angular-loader": "1.4.x",
"angular-mocks": "~1.4.x",
"html5-boilerplate": "~4.3.0",
"angular-cookies": "~1.4.0",
"holderjs": "~2.4.1",
"angular-bootstrap": "~0.13.0",
"bootstrap": "~3.3.0",
"lodash": "~3.10.1",
"angular-animate": "~1.4.7",
"jquery": "~2.1.4",
"font-awesome": "~4.4.0"
}
}
最后,Heroku构建日志(并对其大小表示歉意):
heroku[web.1]: State changed from crashed to starting
heroku[web.1]: Starting process with command `npm start`
app[web.1]: npm verb cli 'start' ]
app[web.1]: npm info it worked if it ends with ok
app[web.1]: npm verb cli [ '/app/.heroku/node/bin/node',
app[web.1]: npm verb cli '/app/.heroku/node/bin/npm',
app[web.1]: npm info using npm@2.14.4
app[web.1]: npm info using node@v4.1.2
app[web.1]: npm verb run-script [ 'prestart', 'start', 'poststart' ]
app[web.1]: npm verb config Skipping project config: /app/.npmrc. (matches userconfig)
app[web.1]: npm info start MyApp@0.0.0
app[web.1]: npm info prestart MyApp@0.0.0
app[web.1]:
app[web.1]: > MyApp@0.0.0 start /app
app[web.1]: > npm install
app[web.1]:
app[web.1]: npm info it worked if it ends with ok
app[web.1]: npm verb cli [ '/app/.heroku/node/bin/node',
app[web.1]: npm verb cli '/app/.heroku/node/bin/npm',
app[web.1]: npm verb cli 'install' ]
app[web.1]: npm info using npm@2.14.4
app[web.1]: npm info using node@v4.1.2
app[web.1]: npm verb readDependencies loading dependencies from /app/package.json
app[web.1]: npm verb config Skipping project config: /app/.npmrc. (matches userconfig)
app[web.1]: npm verb install where, peers [ '/app', [] ]
app[web.1]: npm info preinstall MyApp@0.0.0
app[web.1]: npm verb readDependencies loading dependencies from /app/package.json
app[web.1]: npm verb targetResolver reading package data from /app/node_modules/http-server/package.json
app[web.1]: npm verb targetResolver reading package data from /app/node_modules/.bin/bower/package.json
app[web.1]: npm verb targetResolver reading package data from /app/node_modules/bower/package.json
app[web.1]: npm verb targetResolver reading package data from /app/node_modules/.bin/http-server/package.json
app[web.1]: npm verb already installed skipping http-server@^0.8.5 /app
app[web.1]: npm verb install where, deps [ '/app', [ 'bower', 'angular-ui-router', 'http-server' ] ]
app[web.1]: npm verb linkBins MyApp@0.0.0
app[web.1]: npm verb rebuildBundles MyApp@0.0.0
app[web.1]: npm verb installManyTop reading for lifecycle /app/package.json
app[web.1]: npm info build /app
app[web.1]: npm info install MyApp@0.0.0
app[web.1]: npm verb installManyTop reading scoped package data from /app/node_modules/bower/package.json
app[web.1]:
app[web.1]: npm verb installManyTop reading scoped package data from /app/node_modules/http-server/package.json
app[web.1]: > bower install
app[web.1]:
app[web.1]: > MyApp@0.0.0 postinstall /app
app[web.1]: npm verb installManyTop reading scoped package data from /app/node_modules/angular-ui-router/package.json
app[web.1]: npm info linkStuff MyApp@0.0.0
app[web.1]: npm verb linkMans MyApp@0.0.0
app[web.1]: npm info package.json angular-ui-router@0.2.15 No license field.
app[web.1]: npm verb targetResolver reading package data from /app/node_modules/angular-ui-router/package.json
app[web.1]: npm verb targetResolver reading package data from /app/node_modules/.bin/hs/package.json
app[web.1]: npm verb rebuildBundles [ '.bin', 'angular-ui-router', 'bower', 'http-server' ]
app[web.1]: npm verb already installed skipping bower@^1.5.3 /app
app[web.1]: npm verb already installed skipping angular-ui-router@^0.2.15 /app
app[web.1]: npm info postinstall MyApp@0.0.0
app[web.1]: npm verb unsafe-perm in lifecycle true
app[web.1]: npm verb validateInstall loading /app/package.json for validation
app[web.1]: npm info prepublish MyApp@0.0.0
app[web.1]: npm verb exit [ 0, true ]
app[web.1]: npm verb unsafe-perm in lifecycle true
app[web.1]: npm info ok
app[web.1]: npm verb exit [ 0, true ]
app[web.1]: npm info ok
app[web.1]: npm info poststart MyApp@0.0.0
heroku[web.1]: State changed from starting to crashed
heroku[web.1]: Process exited with status 0