2017-03-09 46 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 
相关问题