Linux 如何设置&;在Ubuntu上运行PhantomJS?

Linux 如何设置&;在Ubuntu上运行PhantomJS?,linux,ubuntu,installation,phantomjs,Linux,Ubuntu,Installation,Phantomjs,我设置了PhantomJS并将其录制到视频: 构建说明: 我的设置有什么问题吗 在我设置好它之后,我阅读了并试图编写这段代码 phantomjs hello.js 它给我“未找到命令”错误。如何解决此问题?以下是我使用的构建步骤(请注意,这些说明适用于1.3版。有关最新PhantomJS的安装说明,请参阅此答案的注释): sudo-apt-get-update sudo-apt-get-install-git-core sudo-apt-get-install-build-essential

我设置了PhantomJS并将其录制到视频:

构建说明:

我的设置有什么问题吗

在我设置好它之后,我阅读了并试图编写这段代码

phantomjs hello.js 
它给我“未找到命令”错误。如何解决此问题?

以下是我使用的构建步骤(请注意,这些说明适用于1.3版。有关最新PhantomJS的安装说明,请参阅此答案的注释):

sudo-apt-get-update
sudo-apt-get-install-git-core
sudo-apt-get-install-build-essential
sudo apt get安装libqt4 dev libqtwebkit dev qt4 qmake
git克隆git://github.com/ariya/phantomjs.git &&cd幻影
git checkout 1.3
qmake-qt4和make

启动Xvfb:
Xvfb:23-屏幕0 1024x768x24&

现在运行幻影:

<代码>显示:23。/幻像:您好。JS/代码> < /P> < p>对于1.5以上的幻像版本,请考虑此(幻影网站上的构建指令的逐字副本):

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


对于Ubuntu,您可以使用预构建版本

如果你手头有一些重要的时间,你也可以。(这正是Nikhil回答的过程)

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

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

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


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

从软件包管理器安装:

sudo apt-get install phantomjs

从phantomjs网站下载预构建包: 然后打开终端并转到下载文件夹

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

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

Guidouil的回答让我走上了正确的轨道。我不得不向/usr/bin/添加一个额外的符号链接,并且我为所有3个添加了直接符号链接-见下文

我正在Ubuntu服务器上安装Natty Narhall

这正是我所做的

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
phantomjs -v
我得到1.9.7分

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

从官方网站:

我已经做完了

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

对于Ubuntu,请从下载合适的文件。将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

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

或最新的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

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

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

遗憾的是,它安装的是1.6,而不是最新版本,但这符合我的目的。

在我的vagrant引导中:

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 ..
幻影JS正在播放。您可以运行此命令以全局安装它:

npm install -g phantomjs-prebuilt  

phantomjs-v
应该返回
2.1.1

我个人更喜欢使用
npm
(请参阅)

但是!我注意到一些
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 .
    


遵循这些步骤不起作用,而是从其他构建的复制。(2.0版)

以下是Julio Napurí的安装程序

版本: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

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


phantomjs YourPathToPhantomjsFolder/examples/hello.js

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

我知道这太旧了,但是,如果现在有人从Google得到这个问题,您可以通过键入apt get install phantomjs安装它。

请参见链接 安装指南在

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

phantomjs--webdriver=4444


在Ubuntu for 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
根据操作系统的不同,也可以使用out
/

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
的情况下启动并运行。只需下载提取,以及添加到路径

如果您有备份整个主文件夹的习惯(我强烈建议您这样做),那么它还有一个额外的优点,那就是轻松备份。这也适用于任何版本的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
    

    以下是我所做的 在我的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
    
    phantomjs -v
    
    我得到2.1.1

    看完这条线索的每一个答案后。我想这是最好的选择
    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