Javascript Karma无法在Windows上启动PhantomJS-错误:生成未知

Javascript Karma无法在Windows上启动PhantomJS-错误:生成未知,javascript,node.js,phantomjs,karma-runner,Javascript,Node.js,Phantomjs,Karma Runner,我完全不知道这个“未知”错误: karma.conf.js: frameworks: ['mocha', 'should'], plugins: ['karma-mocha', 'karma-should', 'karma-phantomjs-launcher'], ... browsers: ['PhantomJS'], 23 07 2015 14:35:37.691:WARN [karma]: No captured

我完全不知道这个“未知”错误:

karma.conf.js:

frameworks: ['mocha', 'should'],

plugins: ['karma-mocha',
          'karma-should',              
          'karma-phantomjs-launcher'],

...
browsers: ['PhantomJS'],
23 07 2015 14:35:37.691:WARN [karma]: No captured browser, open http://localhost:9876/
23 07 2015 14:35:37.701:INFO [karma]: Karma v0.13.3 server started at http://localhost:9876/
23 07 2015 14:35:37.707:INFO [launcher]: Starting browser PhantomJS
23 07 2015 14:35:37.738:ERROR [karma]: { [Error: spawn UNKNOWN] code: 'UNKNOWN', errno: 'UNKNOWN', syscall: 'spawn' }
Error: spawn UNKNOWN
    at exports._errnoException (util.js:749:11)
    at ChildProcess.spawn (child_process.js:1093:11)
    at exports.spawn (child_process.js:933:9)
    at Object._execCommand (C:\Users\JINGA4X\git\mdl-sample-project\node_modules\karma\lib\launchers\process.js:63:21)
    at Object._start (C:\Users\JINGA4X\git\mdl-sample-project\node_modules\karma-phantomjs-launcher\index.js:72:10)
    at Object.<anonymous> (C:\Users\JINGA4X\git\mdl-sample-project\node_modules\karma\lib\launchers\process.js:14:10)
    at emitOne (events.js:82:20)
    at Object.emit (events.js:166:7)
    at Object.start (C:\Users\JINGA4X\git\mdl-sample-project\node_modules\karma\lib\launchers\base.js:41:10)
    at C:\Users\JINGA4X\git\mdl-sample-project\node_modules\karma\lib\launcher.js:88:15
    at Array.forEach (native)
    at launch (C:\Users\JINGA4X\git\mdl-sample-project\node_modules\karma\lib\launcher.js:40:11)
    at invoke (C:\Users\JINGA4X\git\mdl-sample-project\node_modules\karma\node_modules\di\lib\injector.js:75:15)
    at Server.<anonymous> (C:\Users\JINGA4X\git\mdl-sample-project\node_modules\karma\lib\server.js:161:24)
    at Server.g (events.js:257:16)
    at emitNone (events.js:67:13)
错误:

frameworks: ['mocha', 'should'],

plugins: ['karma-mocha',
          'karma-should',              
          'karma-phantomjs-launcher'],

...
browsers: ['PhantomJS'],
23 07 2015 14:35:37.691:WARN [karma]: No captured browser, open http://localhost:9876/
23 07 2015 14:35:37.701:INFO [karma]: Karma v0.13.3 server started at http://localhost:9876/
23 07 2015 14:35:37.707:INFO [launcher]: Starting browser PhantomJS
23 07 2015 14:35:37.738:ERROR [karma]: { [Error: spawn UNKNOWN] code: 'UNKNOWN', errno: 'UNKNOWN', syscall: 'spawn' }
Error: spawn UNKNOWN
    at exports._errnoException (util.js:749:11)
    at ChildProcess.spawn (child_process.js:1093:11)
    at exports.spawn (child_process.js:933:9)
    at Object._execCommand (C:\Users\JINGA4X\git\mdl-sample-project\node_modules\karma\lib\launchers\process.js:63:21)
    at Object._start (C:\Users\JINGA4X\git\mdl-sample-project\node_modules\karma-phantomjs-launcher\index.js:72:10)
    at Object.<anonymous> (C:\Users\JINGA4X\git\mdl-sample-project\node_modules\karma\lib\launchers\process.js:14:10)
    at emitOne (events.js:82:20)
    at Object.emit (events.js:166:7)
    at Object.start (C:\Users\JINGA4X\git\mdl-sample-project\node_modules\karma\lib\launchers\base.js:41:10)
    at C:\Users\JINGA4X\git\mdl-sample-project\node_modules\karma\lib\launcher.js:88:15
    at Array.forEach (native)
    at launch (C:\Users\JINGA4X\git\mdl-sample-project\node_modules\karma\lib\launcher.js:40:11)
    at invoke (C:\Users\JINGA4X\git\mdl-sample-project\node_modules\karma\node_modules\di\lib\injector.js:75:15)
    at Server.<anonymous> (C:\Users\JINGA4X\git\mdl-sample-project\node_modules\karma\lib\server.js:161:24)
    at Server.g (events.js:257:16)
    at emitNone (events.js:67:13)
在启动测试之前,我尝试执行如下所示的文件,结果相同:

C:\Users\MYUSER\AppData\Roaming\npm\node_modules\phantomjs\lib\phantom\phantomjs.exe

运行节点的用户配置文件:

Users\JINGA4X
与运行幻影的用户配置文件不匹配:

Users\MYUSER
因此,请手动安装幻影:

  • 将可执行文件解压缩到C:\Users\JINGA4X\phantomjs

  • 通过powershell设置路径:

    [Environment]::SetEnvironmentVariable("PATH", $env:Path + ";C:\Users\JINGA4X\phantomjs", 'User')
    
参考资料