我如何在Ubuntu上设置和运行PhantomJS?

我设置了PhantomJS并将其录制到video中: https : //www.dailymotion.com/video/xnizmh_1_webcam

构build说明: http : //phantomjs.org/build.html

我的设置有什么问题吗?

在设置完成之后,我阅读了快速入门教程,并试图编写此代码

phantomjs hello.js 

它给了我“命令未find”的错误。 我该如何解决这个问题?

Guidouil的回答使我走上正轨。 我不得不另外添加一个符号链接到/ usr / bin /中,而且我也为所有的3指定了符号链接 – 请参见下文。

我在Ubuntu服务器Natty Narwhal上安装。

这正是我所做的。

 cd /usr/local/share sudo wget https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-1.9.7-linux-x86_64.tar.bz2 sudo tar xjf phantomjs-1.9.7-linux-x86_64.tar.bz2 sudo ln -s /usr/local/share/phantomjs-1.9.7-linux-x86_64/bin/phantomjs /usr/local/share/phantomjs sudo ln -s /usr/local/share/phantomjs-1.9.7-linux-x86_64/bin/phantomjs /usr/local/bin/phantomjs sudo ln -s /usr/local/share/phantomjs-1.9.7-linux-x86_64/bin/phantomjs /usr/bin/phantomjs 

最后当我这样做

 phantomjs -v 

我得到1.9.7

如果有人看到我所做的任何问题,请告诉我。

PhantomJS在npm上 。 你可以运行这个命令来全局安装它:

 npm install -g phantomjs-prebuilt 

phantomjs -v应该返回2.1.1

从phantomjs网站下载预编译软件包: http ://phantomjs.org/download.html然后打开一个terminal并转到Downloads文件夹

 sudo mv phantomjs-1.8.1-linux-x86_64.tar.bz2 /usr/local/share/. cd /usr/local/share/ sudo tar xjf phantomjs-1.8.1-linux-x86_64.tar.bz2 sudo ln -s /usr/local/share/phantomjs-1.8.1-linux-x86_64 /usr/local/share/phantomjs sudo ln -s /usr/local/share/phantomjs/bin/phantomjs /usr/local/bin/phantomjs 

然后检查安装phantomjs -v应该返回1.8.1

从包pipe理器安装:

 sudo apt-get install phantomjs 

以下是我使用的构build步骤 (请注意这些说明适用于1.3版本。请参阅对此答案的评论以获取最新的PhantomJS的安装说明):

 sudo apt-get update sudo apt-get install git-core sudo apt-get install build-essential sudo apt-get install libqt4-dev libqtwebkit-dev qt4-qmake git clone git://github.com/ariya/phantomjs.git && cd phantomjs git checkout 1.3 qmake-qt4 && make 

现在安装Xvfb

 sudo apt-get install xvfb xfonts-100dpi xfonts-75dpi xfonts-scalable xfonts-cyrillic 

启动Xvfb:
Xvfb :23 -screen 0 1024x768x24 &

现在运行幻影:
DISPLAY=:23 ./phantomjs hello.js

对于1.5以上的PhantomJS版本,请考虑这个(在幻像网站上的构build说明的逐字副本):

对于Ubuntu Linux(在Ubuntu 10.04 Lucid Lynx和Ubuntu 11.04 Natty Narwhal的准系统安装上testing):

 sudo apt-get install build-essential chrpath git-core libssl-dev libfontconfig1-dev git clone git://github.com/ariya/phantomjs.git cd phantomjs git checkout 1.7 ./build.sh 

对于Ubuntu,您可以使用从PhantomJS网站下载的预build版本。

如果你手上有一些严肃的时间,你也可以自己build立 。 (这正是Nikhil的答案)。

在PhantomJS的家伙推荐使用二进制文件来节省时间:

警告:从源代码编译PhantomJS需要很长时间,主要是由于WebKit模块中的数千个文件。 在现代机器上进行4个并行编译工作,整个过程大约需要30分钟。 如果可用,强烈build议下载并安装现成的二进制包。

用现代化的机器,他们的意思是> 4核心,> 8GB我想。 我尝试了一个微型的AWS实例,并在2个小时后放弃。

简而言之:根据他们的指示从PhantomJS站点安装预build的软件包。

在我的stream浪者bootstrap:

 apt-get install -y build-essential chrpath git-core libssl-dev libfontconfig1-dev git clone git://github.com/ariya/phantomjs.git cd phantomjs git checkout 1.9 echo y | ./build.sh ln -s /home/vagrant/phantomjs/bin/phantomjs /usr/local/bin/phantomjs cd .. 

Personaly我更喜欢使用npm (请参阅Arnel Bucio的答案 )

 sudo npm install -g phantomjs 

但! 我注意到一些npm模块仍然无法将其视为全局可执行文件。

在这里输入图像描述

所以!

  • 创build新的/usr/share/phantomjs/目录链接

     cd /usr/share sudo ln -s ../lib/node_modules/phantomjs/lib/phantom phantomjs 
  • 删除旧的/usr/bin/phantomjs可执行文件链接并创build一个新的

     cd /usr/bin sudo mv phantomjs phantomjs.old sudo ln -s ../share/phantomjs . 

我已经完成了这个。

 sudo apt-get update sudo apt-get install build-essential chrpath git-core libssl-dev libfontconfig1-dev git clone git://github.com/ariya/phantomjs.git cd phantomjs git checkout 1.9 ./build.sh 

请参阅链接安装指南在…

https://gist.github.com/julionc/7476620

用这个命令在terminal上运行

phantomjs –webdriver = 4444

从官方网站: phantomjs网站

 sudo apt-get install build-essential chrpath git-core libssl-dev libfontconfig1-dev git clone git://github.com/ariya/phantomjs.git cd phantomjs git checkout 1.8 ./build.sh 

对于Ubuntu,从http://phantomjs.org/download.html下载合适的文件。; CD到下载的文件夹。 然后:

 sudo tar xvf phantomjs-1.9.0-linux-x86_64.tar.bz2 sudo mv phantomjs-1.9.0-linux-x86_64 /usr/local/share/phantomjs sudo ln -s /usr/local/share/phantomjs/bin/phantomjs /usr/bin/phantomjs 

确保使用下载的文件replace这些命令中的文件名。

请注意,这绝对是一种方法:

 $ sudo apt-get install phantomjs $ phantomjs -v 1.6.0 

可悲的是,它安装了1.6,而不是最新的,但这适用于我的目的。

我知道这是太旧了,但是,只要我现在有人从Google获得这个问题,你可以通过inputapt-get install phantomjs来安装它

或最新的 – 32位版本的Linux

 sudo wget http://phantomjs.googlecode.com/files/phantomjs-1.9.2-linux-i686.tar.bz2 sudo ln -s /usr/local/share/phantomjs-1.9.2-linux-i686/bin/phantomjs /usr/local/share/phantomjs sudo ln -s /usr/local/share/phantomjs-1.9.2-linux-i686/bin/phantomjs /usr/local/bin/phantomjs sudo ln -s /usr/local/share/phantomjs-1.9.2-linux-i686/bin/phantomjs /usr/bin/phantomjs 

安装和调用Phantomjs

按照步骤不工作,但克隆从其他人build立。 (ver2.0)

贝娄安装程序由JulioNapuríhttps : //gist.github.com/julionc

版本:1.9.8

平台:x86_64

首先,安装或更新到最新的系统软件。

 sudo apt-get update sudo apt-get install build-essential chrpath libssl-dev libxft-dev 

安装PhantomJS所需的这些软件包才能正常工作。

 sudo apt-get install libfreetype6 libfreetype6-dev sudo apt-get install libfontconfig1 libfontconfig1-dev 

从PhantomJS网站上获取。

 cd ~ export PHANTOM_JS="phantomjs-1.9.8-linux-x86_64" wget https://bitbucket.org/ariya/phantomjs/downloads/$PHANTOM_JS.tar.bz2 sudo tar xvjf $PHANTOM_JS.tar.bz2 

下载后,将Phantomjs文件夹移动到/ usr / local / share /并创build一个符号链接:

 sudo mv $PHANTOM_JS /usr/local/share sudo ln -sf /usr/local/share/$PHANTOM_JS/bin/phantomjs /usr/local/bin 

现在,它应该在你的系统上正确的安装PhantomJS。

 phantomjs --version 

我find了这个更简单的方法 – 幻影依赖+ Npm

 sudo apt-get update sudo apt-get install build-essential chrpath libssl-dev libxft-dev sudo apt-get install libfreetype6 libfreetype6-dev sudo apt-get install libfontconfig1 libfontconfig1-dev 

和npm

 [sudo] npm install -g phantomjs 

完成。

在linux上运行hello.js不要忘记添加hello.js的path:

phantomjs YourPathToPhantomjsFolder / examples / hello.js

如果你想轻松使用phantomjs,你可以在phantomjscloud.com上使用它。你可以通过http请求获得结果。

在Ubuntu的Windows上,我发现既没有apt-get也没有npm版本为我工作。 这个评论的脚本是有用的 。

为了便于使用,我把所有东西都粘贴到一个名为install_phantomjs.sh的脚本文件中,使其成为可执行文件( chmod u+x install_phantomjs.sh ),然后运行它( ./install_phantomjs.sh

这就是我如何将特定版本的phantomjs放在我的docker容器上的/ usr / local / bin中。

 curl -Ls https://github.com/Medium/phantomjs/releases/download/v1.9.19/phantomjs-1.9.8-linux-x86_64.tar.bz2 \ | tar jxvf - --strip-components=2 -C /usr/local/bin/ ./phantomjs-1.9.8-linux-x86_64/bin/phantomjs 

或取决于操作系统。

 curl -Ls https://github.com/Medium/phantomjs/releases/download/v1.9.19/phantomjs-1.9.8-linux-x86_64.tar.bz2 \ | tar jxvf - --strip-components=2 -C /usr/local/bin/ phantomjs-1.9.8-linux-x86_64/bin/phantomjs 

你可以起床和运行没有sudonpm 。 只需下载提取添加到path

如果您习惯备份我强烈build议的整个主文件夹,则这具有易于备份的优点。 这也适用于任何版本的Linux。

 ➤ cd ~ ➤ wget https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-linux-x86_64.tar.bz2 ➤ mkdir phantomjs ➤ tar xjf phantomjs-2.1.1-linux-x86_64.tar.bz2 -C phantomjs ➤ echo 'export PATH="$PATH:$HOME/phantomjs/bin"' >> .profile ➤ source .profile ➤ phantomjs -v 2.1.1 

缺点是:

  1. 您将需要手动升级
  2. 其他用户将无法访问此。

你可以使用一个非常简单的shell脚本来安装/升级

 #!/bin/sh # install_phantomjs.sh $VERSION $VERSION = $1 printf "Downloading PhantomJS $VERSION...\n" wget "https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-$VERSION-linux-x86_64.tar.bz2" printf "Extracting PhantomJS $VERSION to ~/phantomjs...\n" mkdir ~/phantomjs tar xjf phantomjs-$VERSION-linux-x86_64.tar.bz2 -C ~/phantomjs printf "Done! Make sure $HOME/phantomjs/bin is in your path.\n" 

或者在Dockerfile中

 # Download and setup PhantomJS ENV PHANTOMJS_VERSION 2.1.1 RUN curl -fSL "https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-$PHANTOMJS_VERSION-linux-x86_64.tar.bz2" -o /tmp/phantomjs.tar.bz2 && \ mkdir ~/phantomjs && \ tar xjf /tmp/phantomjs.tar.bz2 -C ~/phantomjs && \ rm /tmp/phantomjs.tar.bz2 ENV PATH /home/$USERNAME/phantomjs/bin:$PATH