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