我用CasperJS编写了一个网络报废脚本,它在Mac OS 10.10.4上完美运行,CasperJS版本1.1.0-beta3和PhantomJS版本1.9.8,但当我在我的一台服务器上放置相同的脚本时,就是Ubuntu 14.04(在具有相同环境(CasperJS和PhantomJS所有相同版本)的Docker容器内运行时,它突然输出:
I’m `fs` modules
这很奇怪.我的一个建议是,在这个脚本中我也试图要求其他一些需要的脚本:
var parsingStrategy = require(strategiesPath + strategyName);
并且这些策略的路径是正确的我已经检查过了.我在这个脚本中所做的所有其他事情都只是正常的CasperJS内容,我认为这些内容已经记录并且运行良好.
有任何想法吗?
解决方法
好的,我有一个答案 – ‘fs’是一个与节点捆绑的模块,因此不必通过npm安装.您下载的软件包是:
https://www.npmjs.com/package/fs
它包含的全部是……
https://www.npmjs.com/package/fs
它包含的全部是……
console.log("I'm `fs` modules");
你这样做的时候:
npm uninstall fs npm install -g fs
该节点使用其本地包 – 它附带 – 并完全忽略全局包.谜团已揭开.