我正在尝试使用Phantom在Node webkit中抓取动态内容。 我已经将phantomjs添加到env变量中。 当我运行应用程序时,我得到版本不匹配错误: “未捕获的错误:模块版本不匹配。预计43,得到46” 通过运行nw:version我得到以下版本:
我该如何解决这个错误? 如果您能够使用其他软件包实现类似的功能,请告诉我。
答案 0 :(得分:2)
原生模块(phantom是其中之一,我的经验是lwip)必须重建才能在nw.js内工作;你用npm安装的那些不兼容。还建议安装与nw.js使用的node.js版本匹配的版本(即io.js 1.2.0)。
关于如何重建的说明:https://github.com/nwjs/nw.js/wiki/build-native-modules-with-nw-gyp
基本上,你会
$ npm install -g nw-gyp
$ cd node_modules/phantom
$ nw-gyp configure --target=0.12.3
$ nw-gyp build
注意" 0.12.3"配置中的版本,因为这是你的nw:版本显示的内容。 另外,请注意不同的先决条件,具体取决于您使用的操作系统:https://github.com/nwjs/nw-gyp
在nw.js中做网络疤痕我成功使用了以下堆栈(在Windows 7上):