推送到Heroku时出现错误(node.js)

8
当我把默认的express应用程序推送到heroku时,我会遇到以下错误。我确保使用了最新的heroku-toolbelt等工具,但这似乎是来自heroku方面的错误?有人见过吗?它可以正常推送并按预期运行,但我怀疑这可能会在未来引起问题。
Counting objects: 7, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (4/4), 404 bytes, done.
Total 4 (delta 1), reused 0 (delta 0)

-----> Heroku receiving push
-----> Node.js app detected

/app/slug-compiler/buildpacks/nodejs2/vendor/json/json:425
  return runInNewContext("(" + JSON.stringify(datum) + ")" + lookupCode);
         ^
TypeError: Cannot read property 'node' of undefined
    at evalmachine.<anonymous>:1:118
    at lookupDatum (/app/slug-compiler/buildpacks/nodejs2/vendor/json/json:425:10)
    at Socket.<anonymous> (/app/slug-compiler/buildpacks/nodejs2/vendor/json/json:628:24)
    at Socket.emit (events.js:61:17)
    at Socket._onReadable (net.js:656:51)
    at IOWatcher.onReadable [as callback] (net.js:177:10)

/app/slug-compiler/buildpacks/nodejs2/vendor/json/json:425
  return runInNewContext("(" + JSON.stringify(datum) + ")" + lookupCode);
         ^
TypeError: Cannot read property 'npm' of undefined
    at evalmachine.<anonymous>:1:118
    at lookupDatum (/app/slug-compiler/buildpacks/nodejs2/vendor/json/json:425:10)
    at Socket.<anonymous> (/app/slug-compiler/buildpacks/nodejs2/vendor/json/json:628:24)
    at Socket.emit (events.js:61:17)
    at Socket._onReadable (net.js:656:51)
    at IOWatcher.onReadable [as callback] (net.js:177:10)
-----> Resolving engine versions
       Using Node.js version: 0.4.7
       Using npm version: 1.0.94
-----> Fetching Node.js binaries
-----> Vendoring node into slug
-----> Installing dependencies with npm

       express@2.5.8 /tmp/build_1m5t2ah1oglfb/node_modules/express
       connect@1.8.5 /tmp/build_1m5t2ah1oglfb/node_modules/express/node_modules/connect
       qs@0.4.2 /tmp/build_1m5t2ah1oglfb/node_modules/express/node_modules/qs
       mime@1.2.4 /tmp/build_1m5t2ah1oglfb/node_modules/express/node_modules/mime
       formidable@1.0.9 /tmp/build_1m5t2ah1oglfb/node_modules/express/node_modules/connect/node_modules/formidable
       mkdirp@0.3.0 /tmp/build_1m5t2ah1oglfb/node_modules/express/node_modules/mkdirp
       jade@0.20.3 /tmp/build_1m5t2ah1oglfb/node_modules/jade
       commander@0.5.2 /tmp/build_1m5t2ah1oglfb/node_modules/jade/node_modules/commander
       mkdirp@0.3.0 /tmp/build_1m5t2ah1oglfb/node_modules/jade/node_modules/mkdirp
       Dependencies installed
-----> Discovering process types
       Procfile declares types -> web
-----> Compiled slug size is 3.1MB
-----> Launching... done, v7

1
是的,这对我来说看起来也像是Heroku的错误。向他们报告吗?https://support.heroku.com/home - Colonel Panic
需要检查这是否仍在发生。会尽快回报。 - James Hughes
Heroku问题显然已经解决。 - James Hughes
2个回答

1

这是一个Heroku的问题,似乎已经解决了。


0

我猜测这个问题可能与解析你的package.json有关。请查看指定Node.js/npm版本。请确认一下,package.json是否是有效的JSON格式

我的猜测是,这个evalmachine正在一个沙盒环境中评估你的package.json(请参见vm.runInNewContext),而lookupCode则是首先检查engines.node,然后检查engines.npm。这两个都可以访问吗?如果是这样,那么Heroku的开发人员应该为此错误做好准备,并提供一些有用的信息。他们通常会注意到这些问题。


我的代码没问题 - 它是样板代码,在其他环境中也能正常工作。需要很快检查一下这个问题是否仍然存在。 - James Hughes

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接