我用 CasperJS 编写了一个 Web 抓取脚本,它在 Mac OS 10.10.4 和 CasperJS 版本 1.1.0-beta3 和 PhantomJS 版本 1.9.8 上完美运行,但是当我将相同的脚本放在我的一台服务器上时,它是 Ubuntu 14.04(在 Docker 容器中运行)具有相同的环境(CasperJS 和 PhantomJS 都是相同的版本)它突然只输出以下内容:
I'm `fs` modules
这很奇怪。我的一个建议是,在这个脚本中,我还试图要求其他一些带有类似要求的脚本:
var parsingStrategy = require(strategiesPath + strategyName);
并且这些策略的路径是正确的,我已经检查过了。我在这个脚本中所做的所有其他东西都是普通的 CasperJS 东西,我认为这些东西都有记录并且运行良好。
最佳答案
好的,伙计们,我有一个答案 - 'fs' 是一个与 node 捆绑在一起的模块,所以它不必通过 npm 安装。你下载的包是这样的:
https://www.npmjs.com/package/fs
它所包含的只是……
console.log("I'm `fs` modules");
当你这样做时:
npm uninstall fs
npm install -g fs
该节点使用它的本地包 - 它附带 - 并完全忽略了全局包。谜团已揭开。 ;)
关于module - 使用 CasperJS 进行 Web 抓取会返回未记录的奇怪错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31572054/