【发布时间】:2013-01-05 00:07:48
【问题描述】:
我无法让 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 for package from git+git://github.com/ariya/phantomjs 回溯(最近一次通话最后): 文件“”,第 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 失败/tmp/pip-dCF1oZ-build 存储中的错误代码 1 完成登录/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: line 90: src/qt/bin/qmake: 没有那个文件或目录
之前我下载了适用于 Linux 的可执行文件,因此无法正常工作。这次我下载了windows的可执行文件并将它放在C:/cygwin/bin中,它工作了!
当 cygwin 是一个 linux 模拟器时,我不明白为什么我需要下载 windows 可执行文件。这让我很困惑,但至少现在可以了!
【问题讨论】:
-
假设您正确拥有文件
C:\cygwin\bin\phantomjs.exe,请尝试使用文件的完整路径调用它。 -
也忘记了安装 PhantomJS 的
pip install方法。这是一种完全错误的安装方式。 -
感谢有关 pip 安装的建议。当我尝试使用完整路径运行 phantomjs 时,仍然出现相同的错误:无法执行二进制文件
-
您还有什么建议吗??
-
虽然 Cygwin 允许您运行非常类似于 Unix 的环境,但这并不意味着它可以运行来自其他操作系统的二进制文件。