2012-04-11 79 views
2
的特定版本

我寫了一個Node.js的應用程序,極大的本地作品,但是當我推到Heroku上,我得到以下錯誤:力的Heroku使用Node.js的

2012-04-11T00:42:55+00:00 app[web.1]:   throw e; // process.nextTick error, or 'error' event on first tick 
2012-04-11T00:42:55+00:00 app[web.1]:  ^
2012-04-11T00:42:55+00:00 app[web.1]: TypeError: Object #<Object> has no method 'isArray' 

我我發現heroku的Node是v0.4.7,但我的本地版本是v0.6.3。我指定我的package.json文件中使用v0.6.3:

"engine": { 
    "node": "0.6.3" 
    , "npm": "1.1.9" 
} 

但是,這顯然不是在做什麼,我甚至推後。

這一直困擾我整天,我所需要做的就是弄清楚如何得到util.isArray()method再次工作(希望)。這是我得到的錯誤,這是因爲它在節點的v0.4.7中不受支持。

+1

如果一切都失敗了,你可以使用'if(arr instanceof Array)'確定'arr'是否是一個數組。 – 2012-04-11 01:59:19

+0

嘿@CaseyChu,我知道 - 我只是不想這樣做,因爲它是一個NPM模塊,它給出了這個錯誤,我不想克隆模塊,使用它的相對版本等。使節點成爲我想要的正確版本會更方便。 – Connor 2012-04-11 02:01:36

+0

謝謝,但! – Connor 2012-04-11 02:02:04

回答

2

請注意,您正在使用engine而不是enginesthe docs,這將導致默認0.4.7版本被應用。

+0

方式複製在問題中寫的答案... – 2012-06-28 08:23:47

+1

有趣的是,我沒有看到 - 尤其是因爲*它不是答案。*感謝懲罰我試圖幫助未來的Google員工。 – buley 2012-06-28 15:09:21