164

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

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

我的设置有什么问题吗?

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

phantomjs hello.js 

它给了我“找不到命令”错误。我怎么解决这个问题?

4

25 回答 25

361

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

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

于 2013-01-10T21:08:34.993 回答
111

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

npm install -g phantomjs-prebuilt  

phantomjs -v应该返回2.1.1

于 2014-03-20T05:59:32.190 回答
58

从 phantomjs 网站下载预构建包: http ://phantomjs.org/download.html 然后打开终端并转到下载文件夹

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

于 2013-01-10T13:03:52.683 回答
38

从包管理器安装:

sudo apt-get install phantomjs
于 2012-12-27T21:48:08.163 回答
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

现在安装 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

于 2012-02-12T03:49:59.867 回答
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
于 2012-09-28T06:04:50.427 回答
7

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

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

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

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

对于现代机器,我认为它们意味着 > 4 个内核,> 8gb 内存。我在一个微型 AWS 实例上尝试了它,并在 2 小时后放弃了。

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

于 2012-11-03T10:08:58.827 回答
4

在我的流浪引导程序中:

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 ..
于 2014-01-19T19:53:58.810 回答
4

我个人更喜欢使用npm(请参阅Arnel Bucio 答案

sudo npm install -g phantomjs

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

在此处输入图像描述

所以!

  • 创建新/usr/share/phantomjs/目录链接

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

    cd /usr/bin
    sudo mv phantomjs phantomjs.old
    sudo ln -s ../share/phantomjs .
    
于 2014-09-20T20:37:27.510 回答
2

我已经完成了这个。

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
于 2013-06-10T15:44:59.560 回答
2

请参阅链接安装指南在...

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

并使用此命令在终端中运行

phantomjs --webdriver=4444

于 2016-09-01T09:38:32.600 回答
1

来自官方网站: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
于 2013-03-18T08:06:42.947 回答
1

对于 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

确保将这些命令中的文件名替换为您下载的文件。

于 2013-09-01T19:25:33.437 回答
1

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

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

可悲的是,它安装的是 1.6 而不是最新的,但这对我的目的有用。

于 2014-01-05T20:00:04.220 回答
1

我知道这太旧了,但是,万一有人现在从谷歌得到这个问题,你可以通过输入 apt-get install phantomjs 来安装它

于 2016-07-29T19:41:46.917 回答
1

在适用于 Windows 的 Ubuntu 上,我发现既不适合我,apt-get也不npm适合我的版本。起作用的是此评论中的脚本。

为了便于使用,我将整个内容粘贴到一个名为 的脚本文件install_phantomjs.sh中,使其可执行(chmod u+x install_phantomjs.sh),然后运行它(./install_phantomjs.sh

于 2017-01-17T18:16:22.807 回答
0

或者最新的——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
于 2013-10-04T09:38:27.997 回答
0

安装和调用 Phantomjs

按照步骤是不行的,而是从别人那里克隆过来的。(ver2.0)

于 2015-08-15T23:10:24.907 回答
0

下面是 Julio Napurí 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/ 并创建一个符号链接:

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

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

phantomjs --version
于 2015-09-18T07:54:48.927 回答
0

我发现了这种更简单的方法 - 幻影依赖 + 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

完毕。

于 2015-12-08T15:51:47.497 回答
0

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

phantomjs YourPathToPhantomjsFolder/examples/hello.js

于 2016-01-12T20:17:24.660 回答
0

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

于 2016-03-22T06:48:37.873 回答
0

这就是我在 docker 容器上的 /usr/local/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

或不./取决于操作系统。

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
于 2017-05-02T09:47:31.923 回答
0

您可以在没有sudo或的情况下启动并运行npm。只需下载解压缩添加到路径

如果您习惯于备份我强烈推荐的整个主文件夹,这具有轻松备份的额外优势。这也适用于任何版本的 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
于 2017-06-13T15:07:09.370 回答
0

这是我 在 ubuntu 16.04 机器上所做的

sudo apt-get update
sudo wget https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-linux-x86_64.tar.bz2
sudo mv path/where/you/downloaded/phantomjs  /usr/bin

最后当我这样做的时候

phantomjs -v

我得到2.1.1

在经历了这个线程的每个答案之后。我认为这是在 ubuntu 中安装和运行 phantomjs 的最佳解决方案。

于 2018-03-29T18:52:40.690 回答