错误 - 正在运行spookyjs

时间:2015-07-24 12:06:16

标签: node.js windows phantomjs casperjs spookyjs

我在windows运行spookyjs时遇到以下错误,但代码正在linux中运行。

错误

events.js:85
throw er; // Unhandled 'error' event
        ^
Error: spawn casperjs ENOENT
at exports._errnoException (util.js:746:11
at Process.ChildProcess._handle.onexit (ch
at child_process.js:1137:20
at process._tickCallback (node.js:355:11)

注意:

我已经安装了所有依赖项并添加了PATH varaiables

  1. Phantomjs
  2. 的Python
  3. casperjs - 使用npm install -g casperjs
  4. 全球安装

    在命令提示符casperjs正在运行

    我尝试过:

    1. 使用

      安装npm为全局
       npm install -g npm
      
    2. 已卸载0.12并降级为0.10

    3. 添加了系统变量C:\Windows\System32;

    4. 任何想法或建议都将不胜感激

3 个答案:

答案 0 :(得分:1)

spawn正在尝试执行casperjs命令,请确保您可以从cmd.exe控制台执行该命令。如果未执行此操作,请找到casperjs二进制文件,并确保将其添加到PATH

答案 1 :(得分:1)

任何更新?我有同样的问题。

phantomjs& casperjs在PATH中,可以从cmd.exe开始工作。试图在全球范围内安装它......

我的选项用完了!

编辑:好的,我没有测试过,但这是有道理的。当然,spawn无法处理.bat和.cmd文件,因此当它通过npm安装PhantomJS和CasperJS时,它可以从cmd.exe运行,但不能从spawn运行。手动安装它们应该有效,因为您将拥有phantomjs.exe和casperjs.exe。今晚要试试。

EDIT2:是的。作品。手动安装它们(并将新路径放在PATH变量中),你就可以了。

答案 2 :(得分:0)

实际上产生的是在Windows中执行casperjs cmd。在Linux中,您使用的是这样的

  

var casperjs = spawn('casperjs',[__dirname +'******',用户名]);

但是在Windows中,如果您已在全球范围内安装了casperjs,请尝试

  

var casperjs = spawn('casperjs.cmd',[__dirname +'******',用户名]);

或在spawn中提供完整路径(“完整安装路径”)

对我来说,它正在Windows上运行,希望对您有帮助。