我正在与Gulp合作,并将我的任务推送到我们的Windows 2008 R2服务器,他们奇怪地停止了工作。
任务刚刚退出某个点并让我提示。我的Windows 7开发计算机和一台Windows 2008 R2服务器上的一切正常,到目前为止,问题仅出现在我们的开发Windows 2008 R2服务器上
通过隔离,我能够将其缩小到模块Pretty bytes,该模块在计算中使用Math.log。我试图直接从节点使用Math.log,我在那台服务器上得到相同的结果。看起来Math.log已经坏了,但其他数学函数运行得很好。
以下复制步骤:
详细说明:
2 different Windows 2008 R2 running in a VM (if that's important)
node v0.12.7
//nodemathtest.js
console.log(process.versions);
console.log("before");
console.log(Math.floor(2.2));
console.log(Math.log(10));
console.log("after");
正在运行node mathlogtest.js
在我的一台机器和一台Windows 2008 R2服务器上,我得到了预期的结果:
C:\>node mathlogtest.js
{ http_parser: '2.3',
node: '0.12.7',
v8: '3.28.71.19',
uv: '1.6.1',
zlib: '1.2.8',
modules: '14',
openssl: '1.0.1p' }
before
2
2.302585092994046
after
在我们的开发Windows服务器上,Gulp任务过早退出,我得到了这个:
C:\>node mathlogtest.js
{ http_parser: '2.3',
node: '0.12.7',
v8: '3.28.71.19',
uv: '1.6.1',
zlib: '1.2.8',
modules: '14',
openssl: '1.0.1p' }
before
2
C:\>
我可以看到Math.log导致Node立即退回到提示,这也是Gulp发生的事情,我被踢回到我的提示并且任务被中断。
我不确定在哪里看,因为我对Node很新。根据我的理解,Node正在使用Chrome的V8 JS引擎,process.version
在每台服务器上的返回完全相同。我试图安装.NET 4.5.1和各种C ++可再发行组件包无济于事。