在get push heroku master
部署期间,一些新的依赖或其他一些该死的东西导致npm错误:
-----> Node.js app detected
-----> Resolving engine versions
Using Node.js version: 0.10.1
Using npm version: 1.2.15
-----> Fetching Node.js binaries
-----> Vendoring node into slug
-----> Installing dependencies with npm
....
npm ERR! Additional logging details can be found in:
npm ERR! /tmp/build_24pmtv04ok0ss/npm-debug.log
npm ERR! not ok code 0
确实 not ok
。没有其他有用的信息打印到控制台,所以当然我想看看该日志文件中的内容。
所以我尝试了一点:
$ heroku run cat /tmp/build_24pmtv04ok0ss/npm-debug.log
但是,似乎不存在这样的文件:
Running `cat /tmp/build_24pmtv04ok0ss/npm-debug.log` attached to terminal... up, run.3166
cat: /tmp/build_24pmtv04ok0ss/npm-debug.log: No such file or directory
我的问题是:
答案 0 :(得分:14)
在您完成使用自定义构建包的所有麻烦之前,请尝试使用以下命令在heroku上启用更详细的日志记录输出:
heroku config:set NPM_CONFIG_LOGLEVEL=verbose
有关详细信息,请参阅https://devcenter.heroku.com/articles/troubleshooting-node-deploys。
答案 1 :(得分:7)
当您将代码推送到Heroku时,您的构建将在临时构建dyno上运行,因此一旦构建完成,所有文件都将消失,因为dynos具有ephemeral file systems。 heroku run cat /tmp/build_24pmtv04ok0ss/npm-debug.log
没有帮助的原因是您使用现有应用的新文件系统附加到one-off dyno(与构建dyno完全分开)。
所有希望都不会丢失。您应该能够在退出时tweaking the buildpack cat
npm-debug.log
function cat_npm_debug_log() {
if [ -f $BUILD_DIR/npm-debug.log ]; then
cat $BUILD_DIR/npm-debug.log
fi
}
trap cat_npm_debug_log EXIT
看到正在发生的事情:
heroku config:add BUILDPACK_URL="https://github.com/ryanbrainard/heroku-buildpack-nodejs.git"
我没有彻底测试过,但我快速fork default Node buildpack到do what I just showed above。请随意通过setting it as a custom buildpack尝试:
{{1}}