我怎样让PhantomJS / CasperJS在Cygwin上工作?

时间:2013-01-05 00:07:49

标签: cygwin phantomjs casperjs

我无法让PhantomJS和CasperJS在cygwin环境中工作。我是cygwin的新手。我能够为Windows下载这两个软件包并通过windows cmd运行它们。

为了让他们与Cygwin合作,我尝试了以下方法:

我下载了PhantomJS和CasperJS的tar / zip文件,我将“bin”文件夹中的内容复制到C:\ cygwin \ bin中。但是当我在cygwin上输入phantomjs时,我得到了:

  

/ usr / bin / phantomjs:无法执行二进制文件

然后,我试着这样做:

  

pip install git + git://github.com/ariya/phantomjs

但等待一段时间后,我得到以下回复:

  

下载/解压缩git + git://github.com/ariya/phantomjs克隆   git://github.com/ariya/phantomjs到/ tmp / pip-dCF1oZ-build运行   来自的package.py egg_info包   混帐混帐+://github.com/ariya/phantomjs       Traceback(最近一次调用最后一次):         文件“”,第16行,in       IOError:[Errno 2]没有这样的文件或目录:'/ tmp / pit-dCF1oZ-build / setup.py'       从命令python setup.py egg_info完成输出:       回溯(最近一次调用最后一次):

     

文件“”,第16行,

     

IOError:[Errno 2]没有这样的文件或目录:   '/tmp/pip-dCF1oZ-build/setup.py'

     

----------------------------------------命令python setup.py egg_info失败/ tmp / pip-dCF1oZ-build存储中的错误代码1   完成登录/home/tkondapalli/.pip/pip.log

有人对如何使这项工作有任何建议吗?有没有人在cygwin环境中使用PhantomJS / CasperJS?


另外,我认为.exe我正在下载并复制到C:\ cygwin \ bin目录是linux的目录,所以也许这不起作用?所以这意味着我需要在cygwin上从源代码编译......

所以,我开始按照构建幻像的说明进行操作:http://phantomjs.org/build.html

我们需要做的第一件事是为开发构建OpenSSL,但我不知道如何为cygwin做这个!所以我现在暂时跳过这一步,这可能不对。

我确实从github下载了源代码并尝试构建它。它因以下错误而失败:

  

Makefile:217:目标`qtemporaryfile.o'的配方失败make: *   [qtemporaryfile.o]错误1 make:* 等待未完成的工作....   make:***未指定目标且未找到makefile。停止。   ./build.sh:line 90:src / qt / bin / qmake:没有这样的文件或目录


之前我已经下载了Linux的可执行文件,所以它无法正常工作。这次我下载了Windows的可执行文件并将其放在C:/ cygwin / bin中,它运行良好!

当cygwin是一个linux模拟器时,我不明白为什么我需要下载windows可执行文件。这让我很困惑,但至少它现在有用了!

3 个答案:

答案 0 :(得分:3)

来自Cygwin网站:

  

Cygwin不是:在Windows上运行本机Linux应用程序的一种方法。如果要在Windows上运行,则必须从源重建应用程序。

每个应用程序都需要重建才能在Windows上使用(因为它不会生成elf文件,但需要cygwin dll的.exe文件)。

然而,cygwin中的shell可以执行任何windows的.exe文件(例如ping,ipconfig,cmd等),这就是为什么你能够在cygwin下运行Windows版本的PhantomJS。

答案 1 :(得分:1)

首先,从http://nodejs.org/download下载并安装Node.js 关闭并重新打开Cygwin并输入:

$ npm install -g phantomjs  
$ npm install -g casperjs

答案 2 :(得分:0)

刚遇到这个问题,将phantomjs可执行文件放在C:/ cygwin / bin中解决了所有问题。之后,您只需运行命令C:/ cygwin / bin / phantomjs来初始化应用程序。

虽然Cygwin没有替换标准的cmd提示,但它非常有用!