簡體   English   中英

如何在Ubuntu上設置和運行PhantomJS?

[英]How can I setup & run PhantomJS on Ubuntu?

我設置了PhantomJS並將其錄制到視頻: https//www.dailymotion.com/video/xnizmh_1_webcam

構建說明: http//phantomjs.org/build.html

我的設置有什么問題嗎?

在我設置之后,我閱讀了快速入門教程並嘗試編寫此代碼

phantomjs hello.js 

它給了我“命令未找到”錯誤。 我怎么解決這個問題?

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然后打開終端並轉到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

從包管理器安裝:

sudo apt-get install phantomjs

以下是我使用的構建步驟 (請注意這些說明適用於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版本,請考慮這一點(幻像網站上的構建說明的逐字副本):

對於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 

對於Ubuntu,您可以使用可從PhantomJS站點下載的預構建版本。

如果你手上有一些重要的時間,你也可以自己構建它 (這正是Nikhil回答的程序)。

PhantomJS上的人建議使用二進制文件來節省時間:

警告:從源代碼編譯PhantomJS需要很長時間,主要是因為WebKit模塊中有數千個文件。 在現代機器上進行4個並行編譯作業,整個過程大約需要30分鍾。 強烈建議下載並安裝現成的二進制包(如果可用)。

使用現代機器,他們意味着> 4核,> 8gb mem我想。 我在一個微型AWS實例上嘗試過,並在2小時后放棄了。

簡而言之:按照他們的說明從PhantomJS站點安裝預構建的軟件包。

在我的流浪漢引導:

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模塊仍然無法將其視為全局可執行文件。

在此輸入圖像描述

所以!

  • 創建新的/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 . 

我已經完成了這件事。

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

並使用此命令在終端中運行

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

確保使用您下載的文件替換這些命令中的文件名。

請注意,這絕對是一種方法:

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

可悲的是,它安裝了1.6而不是最新版本,但這適用於我的目的。

我知道這個太舊了,但是,就我個人現在從谷歌那里得到這個問題,你可以通過輸入apt-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

按照步驟不起作用,但克隆其他人建立。 (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 /並創建符號鏈接:

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請求獲得結果。

在Ubuntu for Windows上,我發現apt-getnpm版本apt-get沒有為我工作。 這個評論的腳本是有用的

為了便於使用,我將整個內容粘貼到名為install_phantomjs.sh的腳本文件中,使其成為可執行文件( chmod u+x install_phantomjs.sh ),然后運行它( ./install_phantomjs.sh

這就是我在我的docker容器上將特定版本的phantomjs放在/ 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情況下啟動和運行。 只需下載 ,解壓縮添加到路徑即可

如果您習慣備份我強烈建議的整個主文件夾,這還具有易於備份的額外優勢。 這也適用於任何版本的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

這是我在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的最佳解決方案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM