node phantomjs linux 安装问题
本地为macos系统,phantomjs安装一直没问题:
后来采用了phantom-pool,增加了连接池,安装也没有问题。
这时候不需要安装phantom了,因为phantom-pool是依赖于phantom。phantom-pool的package.json:
"dependencies": { "debug": "^2.3.3", "generic-pool": "^3.1.4", "phantom": "^3.2.0" }
还是在macos上折腾,没有问题。
最后我们选择上线,服务器是阿里云的ecs,系统是centos7。
cnpm install
这时候控制台的时候就报错了,里面有这么一句:
PhantomJS not found on PATH
猜测是找不到phantom-pool的依赖phantom。网上找了一一堆,又说是cnpm找不到安装包url的,最后的解决办法是:
安装bzip2,在centos上安装bzip2:
yum search bzip2 //查询安装包 yum -y install bzip2.x86_64 //网上的好多资料都是bzip2-x86_64 ,然而search结果并没有bzip2-x86_6,坑死人
安装好之后,删除node_modules文件夹, 重新安装:
cnpm install
这时候没有报错了,只有警告,不管。
接下来我们运行phantom-pool,又报错了:
bin/phantomjs: error while loading shared libraries: libfontconfig.so.1:
这种情况需要安装:
yum install libXext libXrender fontconfig libfontconfig.so.1
至此,全部搞定了。
总结,在centos上需要安装:
1.bzip2
2.ibXext libXrender fontconfig libfontconfig.so.1