2

我无法让 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 运行 setup.py egg_info 以从 git+git:/ /github.com/ariya/phantomjs Traceback(最近一次调用最后一次):文件“”,第 16 行,在 IOError:[Errno 2] 没有这样的文件或目录:'/tmp/pip-dCF1oZ-build/setup.py'命令 python setup.py egg_info 的完整输出: Traceback(最近一次调用最后一次):

文件“”,第 16 行,在

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

---------------------------------------- 命令 python setup.py egg_info 失败,错误代码1 in /tmp/pip-dCF1oZ-build 在/home/tkondapalli/.pip/pip.log 中存储完整的日志

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


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

所以,我开始遵循构建 phantomjs 的指示:http: //phantomjs.org/build.html

我们需要做的第一件事是为 devel 构建 OpenSSL,但我不知道如何为 cygwin 执行此操作!所以我暂时跳过了这一步,这可能是不对的。

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

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


早些时候我下载了 Linux 的可执行文件,所以它不起作用。这次我下载了windows的可执行文件并把它放在C:/cygwin/bin中,它工作了!

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

4

3 回答 3

3

来自 Cygwin 网站:

Cygwin 不是:一种在 Windows 上运行本机 Linux 应用程序的方法。如果您希望它在 Windows 上运行,您必须从源代码重新构建您的应用程序。

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

尽管如此,cygwin 中的 shell 可以执行任何 windows 的 .exe 文件(如 ping、ipconfig、cmd 等),这就是为什么您可以在 cygwin 下运行 windows 版本的 PhantomJS 的原因。

于 2013-05-30T10:23:14.447 回答
1

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

$ npm install -g phantomjs  
$ npm install -g casperjs
于 2014-11-24T18:29:31.687 回答
0

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

虽然 Cygwin 没有取代标准的 cmd 提示符,但它非常有用!

于 2017-05-05T16:26:36.183 回答