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

FUR*_*GIN 161 linux installation ubuntu phantomjs

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

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

我的设置有什么问题吗?

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

phantomjs hello.js 
Run Code Online (Sandbox Code Playgroud)

它给了我"命令未找到"错误.我怎么解决这个问题?

sha*_*awn 357

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
Run Code Online (Sandbox Code Playgroud)

最后,当我这样做

phantomjs -v
Run Code Online (Sandbox Code Playgroud)

我得到1.9.7

如果有人发现我所做的任何问题,请告诉我.

  • 如果你需要最后的sym链接,那是因为你的PATH中没有/ usr/local/bin (7认同)
  • 有人也得到了许可吗? (5认同)
  • 我遇到了这个问题:bin/phantomjs:加载共享库时出错:libfontconfig.so.1:无法打开共享对象文件:没有这样的文件或目录.我找到了修复[这里](https://github.com/ariya/phantomjs/issues/10904).运行命令:`sudo apt-get install libfontconfig` (5认同)
  • 这是有效的,但是谁能向我解释为什么我们不应该将整个内容复制粘贴到“usr/bin”中,而不是创建指向“/usr/local”的链接? (2认同)

小智 109

PhantomJS在npm上.您可以运行此命令以全局安装它:

npm install -g phantomjs-prebuilt  
Run Code Online (Sandbox Code Playgroud)

phantomjs -v 应该回来 2.1.1

  • Ubuntu上的+1给出了版本```1.9.7```而不是```1.4.0```. (6认同)

Gui*_*uil 58

从phantomjs网站下载预构建的软件包:http://phantomjs.org/download.html 然后打开终端并转到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
Run Code Online (Sandbox Code Playgroud)

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

  • 这是`phantomjs -v` (4认同)
  • 为什么要在符号链接时直接复制粘贴?= / (2认同)

小智 38

从包管理器安装:

sudo apt-get install phantomjs
Run Code Online (Sandbox Code Playgroud)

  • 但我建议通过[`npm install -g phantomjs`](http://stackoverflow.com/a/22524611/1420197)安装它. (6认同)
  • 在Ubuntu 14.04上安装1.9.0 (3认同)
  • 可悲的是,这现在安装1.4,这是很多很多东西使用phantom.js是行不通的. (2认同)

Vij*_*ati 14

以下是我使用的构建步骤(请注意这些说明适用于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
Run Code Online (Sandbox Code Playgroud)

现在安装Xvfb

sudo apt-get install xvfb xfonts-100dpi xfonts-75dpi xfonts-scalable xfonts-cyrillic
Run Code Online (Sandbox Code Playgroud)

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

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

  • 这些指令现已过时,在当前版本(1.5)中,无需安装qt或xfvb.请参阅http://code.google.com/p/phantomjs/wiki/Installation (16认同)
  • Michel是正确的,应该使用最新版本的幻像,因为它不需要虚拟显示(Xvfb) (2认同)

NBK*_*NBK 12

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

对于Ubuntu Linux(在Ubuntu 10.04 Lucid Lynx和Ubuntu 11.04 Natty Narwhal的裸机安装上测试):

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
Run Code Online (Sandbox Code Playgroud)

  • 我认为应该注意(因为它在PhantomJS网站上),从源代码构建可能需要很长时间**(小型机器上的小时). (3认同)

iwe*_*ein 7

对于Ubuntu,您可以使用可从PhantomJS站点下载的预构建版本.

如果你手上有一些重要的时间,你也可以自己构建它.(这正是Nikhil回答的程序).

PhantomJS上的人建议使用二进制文件来节省时间:

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

使用现代机器,他们意味着> 4核,> 8gb mem我想.我在一个微型AWS实例上尝试过,并在2小时后放弃了.

简而言之:按照他们的说明从PhantomJS站点安装预构建的软件包.