2017-03-09 76 views
1

我一直在將我的一個項目升級到節點7.7.2。該項目有一大堆調用API和數據庫等。當我嘗試運行的項目,錯誤:TypeError:「偵聽器」參數必須是節點7.7.2中的函數

TypeError: "listener" argument must be a function 
    at Socket.once (events.js:307:11) 
    at Socket.connect (net.js:943:10) 
    at Connection.connectOnPort ([path]/testing/mssql/node_modules/tedious/lib/connection.js:429:19) 
    at Connection.connect ([path]/testing/mssql/node_modules/tedious/lib/connection.js:402:21) 
    at Connection.initialiseConnection ([path]/testing/mssql/node_modules/tedious/lib/connection.js:77:12) 
    at Connection.enter ([path]/testing/mssql/node_modules/tedious/lib/connection.js:975:19) 
    at Connection.transitionTo ([path]/testing/mssql/node_modules/tedious/lib/connection.js:508:33) 
    at new Connection ([path]/testing/mssql/node_modules/tedious/lib/connection.js:66:10) 
    at Object.cfg_pool.create ([path]/testing/mssql/node_modules/mssql/lib/tedious.js:375:19) 
    at Pool._createResource ([path]/testing/mssql/node_modules/generic-pool/lib/generic-pool.js:354:17) 

然而,當我運行使用節點7.7.1完全相同的代碼,我沒有得到錯誤並且響應按預期返回。我已經搜索了幾天的錯誤;但我不知道這是否只是一個通用的錯誤,我還沒有真正能夠找到特定於節點7.7.2的任何東西。我發現了一件事,而這正是我指出的用7.7.1來試用它的原因。任何幫助將不勝感激!

+4

問題推出這個進程文件的位置:https://github.com/nodejs/node/issues/11761 (TL; DR:這是7.7.2中的一個錯誤,所以現在恢復到7.7.1) – robertklep

回答

3

我以前nvmhttp://nvm.sh我的CentOS系統上選擇7.7.1(它有自動更新,通過yum-cron)。請參閱要在不同操作系統上安裝的鏈接。

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.1/install.sh | bash 
nvm install 7.7.1 
nvm use 7.7.1 
node -v 

輸出:

v7.7.1

我碰巧使用PM2來運行我的應用程序,並最終不得不使用JSON文件來定義的條目,並指定節點版本。請注意,PM2的此功能需要NVM。

app.json

{ 
    "apps": [{ 
    "name": "MyApp", 
    "script": "script.js", 
    "interpreter": "[email protected]" 
}] 
} 

您可以從PM2像這樣

pm2 start ./app.json 
相關問題