IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    CentOS 配置安装node + SpookyJS + CasperJS + PhantomJS

    李惟发表于 2014-10-22 17:51:44
    love 0

    之前写过一篇Mac篇,在开发环境中安装NSCP(node + SpookyJS + CasperJS + PhantomJS)。今天我在正式生产环境安装,脱离了brew,通过编译安装。

    你可以点击下面的链接回顾之前的文章:

    自动化测试工具小记:node + SpookyJS + CasperJS + PhantomJS

    http://levi.yii.so/archives/3648

    安装node

    1.准备工作

    wget http://nodejs.org/dist/v0.10.32/node-v0.10.32.tar.gz
    yum install gcc openssl-devel gcc-c++ compat-gcc-34 compat-gcc-34-c++

    2.开始安装node.js

    tar -zvxf node-v0.10.32.tar.gz
    cd node-v0.10.32
    ./configure --prefix=/usr/local/app/node
    make
    make install
    ln -s /usr/local/app/node/bin/* /usr/bin/

    漫长的等待,到此node就安装完了。感觉和PHP差不多,稍微简单点,不用配置那么多参数,依赖的开源程序也少很多,可以后期通过npm安装,很方便。而PHP就需要一遍又一遍编译了,这点node相对方便很多。

    3.测试是否安装成功

    var http = require('http');
    http.createServer(function(req, res) {
        res.writeHead(200,{'Content-Type': 'text/plain'});
        res.end('Hello Worldn');
    }).listen(8001, '0.0.0.0');
    
    console.log('Server runing at http://0.0.0.0:8001/');

    注意哦,这里绑定的IP是0.0.0.0,而不是,127.0.0.1;目的是为了能够外网访问。当然也可以安装webserver进行端口映射,不过目前我没有打算安装webserver,只是作为内部调试的工具,无需webserver,所以这里就不额外说明了。

    – 建议使用3000以后的端口,来自前端群:116589978 @Monologue

    执行node

    node example.js

    小提示:安装node后,自带的npm的版本是1.4.2,可自行升级至2.1.4

    npm -g update

    PhantomJS

    按照官方提示,执行以下代码即可

    npm -g install phantomjs

    不过我想看到这篇文章的朋友大概和我一个情况,都身在墙内的。怎么办?好在官方也提供了一个解决办法,启用CDN来下载

    PHANTOMJS_CDNURL=http://cnpmjs.org/downloads npm install phantomjs

    CasperJS

    这个工具还好并没有被墙,不过速度慢的太实在,还会卡住不动了。所以也建议和上面一致采用如下方式安装

    PHANTOMJS_CDNURL=http://cnpmjs.org/downloads npm install casperjs

    列举几个我尝试失败的方法:

    1. 处于好奇,我下载安装了cnpm(国内镜像),不过似乎不太好使,这里时间关系暂不深究。大家感兴趣自行搜索
    2. 我也尝试过taonpm(淘宝镜像),不好使,找不到包,仍旧指向官方提供的地址,下载不了
    3. 当然本地按照官方说明,git下载本地安装,缺少依赖包,失败。比较麻烦,就不详细说明了

    SpookyJS

    这个工具就简单多了,直接npm安装即可

    mkdir app/spooky && cd app/spooky
    npm intall spooky

    安装好后,按照官方提示,测试看看

    try {
        var Spooky = require('spooky');
    } catch (e) {
        var Spooky = require('../lib/spooky');
    }
    
    var spooky = new Spooky({
            child: {
                transport: 'http'
            },
            casper: {
                logLevel: 'debug',
                verbose: true
            }
        }, function (err) {
            if (err) {
                e = new Error('Failed to initialize SpookyJS');
                e.details = err;
                throw e;
            }
    
            spooky.start(
                'http://en.wikipedia.org/wiki/Spooky_the_Tuff_Little_Ghost');
            spooky.then(function () {
                this.emit('hello', 'Hello, from ' + this.evaluate(function () {
                    return document.title;
                }));
            });
            spooky.run();
        });
    
    spooky.on('error', function (e, stack) {
        console.error(e);
    
        if (stack) {
            console.log(stack);
        }
    });
    
    /*
    // Uncomment this block to see all of the things Casper has to say.
    // There are a lot.
    // He has opinions.
    spooky.on('console', function (line) {
        console.log(line);
    });
    */
    
    spooky.on('hello', function (greeting) {
        console.log(greeting);
    });
    
    spooky.on('log', function (log) {
        if (log.space === 'remote') {
            console.log(log.message.replace(/ - .*/, ''));
        }
    });

    执行代码:

    node hello.js

    至此就全部安装好了。最后提个建议,之前我的开发环境(Mac)是通过brew安装的PhantomJS和CasperJS,建议使用npm来安装和管理这两个工具,因为避免有的时候node可能无法找到你的工具所在位置而报错。具体过程如下:

    # 卸载brew下安装的工具
    brew uninstall phantomjs
    brew uninstall casperjs
    brew cleanup
    
    # 通过npm安装
    npm -g install phantomjs
    npm -g install casperjs

    结束前说一点建议,若是需要转帖,希望能够打上原文链接,因为我的博客文章不能说描述都很正确,可能会不定期修正,若是转出去了错误的信息,那么其他的人看到的也可能是错误的分享了;如果带有原文的链接,还可以批评指正。

    您可能也喜欢:

    Adobe Cleaner Tool:Adobe完全卸载工具

    Mac下配置Redis服务器(自启动、后台运行)

    通过 Google Docs 加密你的 Gmail 邮件

    linux使用crontab实现PHP执行定时任务

    初识 jQuery Deferred
    无觅


沪ICP备19023445号-2号
友情链接