我如何在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
从官方网站: 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
你可以起床和运行没有sudo
或npm
。 只需下载 , 提取并添加到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
缺点是:
- 您将需要手动升级
- 其他用户将无法访问此。
你可以使用一个非常简单的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