我一直在将我的项目升级到Node 7.7.2。该项目有大量的API和数据库等调用。当我尝试运行项目时,
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)
但是,当我使用Node 7.7.1运行完全相同的代码时,我没有收到错误,响应按预期返回。我已经搜索了错误几天了;但我不知道这是否只是一个通用的错误,我还没有找到任何特定于Node 7.7.2的东西。我发现了一件事,这就是我用7.7.1尝试它的原因。任何帮助将不胜感激!
答案 0 :(得分:4)
我使用http://nvm.sh中的nvm
在我的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": "node@7.7.1"
}]
}
您可以从PM2启动此处理文件,如此
pm2 start ./app.json