Jak skonfigurować i uruchomić PhantomJS na Ubuntu?

Skonfigurowałem PhantomJS i nagrałem go na wideo: https://www.dailymotion.com/video/xnizmh_1_webcam

Instrukcje budowy: http://phantomjs.org/build.html

Czy coś jest nie tak w mojej konfiguracji?

Po skonfigurowaniu przeczytałem quick start tutorial i próbowałem napisać ten kod

phantomjs hello.js 

Wyświetla mi błąd "command not found". Jak mogę rozwiązać ten problem?

Author: Cœur, 2012-01-08

25 answers

Odpowiedź Guidouila postawiła mnie na dobrej drodze. Musiałem dodać jeden dodatkowy dowiązanie symboliczne do /usr / bin/ , i zrobiłem bezpośrednie dowiązania symboliczne dla wszystkich 3-patrz poniżej.

Instaluję na Ubuntu server Natty Narwhal. Dokładnie to zrobiłem.
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

And finally when I do

phantomjs -v

I get 1.9.7

Jeśli ktoś zobaczy jakieś problemy z tym, co zrobiłem, proszę dać mi znać.
 354
Author: shawn,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-06-13 08:08:04

PhantomJS jest na npm . Możesz uruchomić to polecenie, aby zainstalować go globalnie:

npm install -g phantomjs-prebuilt  

phantomjs -v should return 2.1.1

 106
Author: Arnel Bucio,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-02-02 04:05:27

Pobierz ze strony phantomjs prebuiltowy pakiet : http://phantomjs.org/download.html następnie otwórz terminal i przejdź do folderu Pobrane

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

Następnie aby sprawdzić install phantomjs -v należy zwrócić 1.8.1

 57
Author: Guidouil,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-02-06 22:52:23

Instalacja z menedżera pakietów:

sudo apt-get install phantomjs
 38
Author: ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-09-29 17:53:22

oto kroki budowania, których użyłem (zwróć uwagę, że te instrukcje są dla wersji 1.3. Zobacz komentarze do tej odpowiedzi, aby zapoznać się z instrukcją instalacji najnowszego 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

Teraz zainstaluj Xvfb

sudo apt-get install xvfb xfonts-100dpi xfonts-75dpi xfonts-scalable xfonts-cyrillic

Start Xvfb:
Xvfb :23 -screen 0 1024x768x24 &

Teraz run phantom:
DISPLAY=:23 ./phantomjs hello.js

 14
Author: Vijay Boyapati,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-11-12 01:24:55

Dla PhantomJS w wersji powyżej 1.5, rozważmy to (dosłowna Kopia instrukcji budowania na stronie phantom):

Dla Ubuntu Linux (testowany na instalacji barebone Ubuntu 10.04 Lucid Lynx i 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
 12
Author: Nikhil Ben Kuruvilla,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-11-02 09:26:30

Dla Ubuntu możesz użyć gotowych wersji do pobrania ze strony PhantomJS .

Jeśli masz jakiś poważny czas na ręce można również zbudować go samodzielnie . (Jest to dokładnie procedura z odpowiedzi Nikhila).

Chłopaki z PhantomJS zalecają używanie binariów, aby zaoszczędzić czas:

Ostrzeżenie: Kompilacja PhantomJS ze źródła zajmuje dużo czasu, głównie ze względu na tysiące plików w module WebKit. Z 4 równoległymi zadaniami kompilacji na nowoczesnej maszynie cały proces trwa około 30 minut. Zaleca się pobranie i zainstalowanie gotowego pakietu binarnego, jeśli jest on dostępny.

Z nowoczesną maszyną oznaczają > 4 rdzenie, > 8GB mem myślę. Wypróbowałem go na instancji micro AWS i poddałem się po 2 godzinach.

W skrócie: instalowanie gotowych pakietów ze strony PhantomJS zgodnie z ich instrukcjami.

 7
Author: iwein,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-03-10 20:05:07

Osobiście wolę używać npm (Zobacz Arnel Bucio odpowiedz )

sudo npm install -g phantomjs
Ale! Zauważyłem, że część npm modułu nadal nie widzi go jako globalnego pliku wykonywalnego.

Tutaj wpisz opis obrazka

Więc!
  • Utwórz nowy /usr/share/phantomjs/ link do katalogu

    cd /usr/share
    sudo ln -s ../lib/node_modules/phantomjs/lib/phantom phantomjs
    
  • Usuń stary /usr/bin/phantomjs wykonywalny link i utwórz nowy

    cd /usr/bin
    sudo mv phantomjs phantomjs.old
    sudo ln -s ../share/phantomjs .
    
 4
Author: Fery Wardiyanto,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:10:07

In my vagrant 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 ..
 4
Author: rev,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-12-29 21:23:47

Skończyłem z tym.

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
 2
Author: Amar Banerjee,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-06-10 15:44:59

Zobacz link Instrukcja instalacji jest w ...

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

I uruchom w terminalu za pomocą tego polecenia

Phantomjs --webdriver=4444

 2
Author: Yasar Arafath,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-09-01 09:38:32

From the official site: phantomjs site

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
 1
Author: Igor Shubin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-03-18 08:06:42

Dla Ubuntu Pobierz odpowiedni plik z http://phantomjs.org/download.html. CD do pobranego folderu. Wtedy:

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

Upewnij się, że nazwa pliku w tych poleceniach zostanie zastąpiona pobranym plikiem.

 1
Author: Humming,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-09-01 19:25:33

Należy pamiętać, że jest to zdecydowanie jeden sposób, aby to zrobić:

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

Niestety, instaluje 1.6 i nie najnowszy, ale to działa dla moich celów.

 1
Author: Starkers,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-01-05 20:00:04

Wiem, że to jest za stare, ale, tylko, jeśli ktoś dostanie się do tego pytania z Google teraz, Można go zainstalować wpisując apt-get install phantomjs

 1
Author: Nico Savini,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-07-29 19:41:46

Lub najnowsza-32bitowa wersja Linuksa

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
 0
Author: Nesha Zoric,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-11-20 19:10:07

Instalacja i wywołanie Phantomjs

Wykonaj kroki nie działa, ale klonowane z innych zbudowanych. (ver2. 0)

 0
Author: RYO ENG Lian Hu,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-08-15 23:10:24

Poniżej procedura instalacji Julio Napurí https://gist.github.com/julionc

Wersja: 1.9.8

Platforma: x86_64

Najpierw zainstaluj lub zaktualizuj do najnowszego oprogramowania systemowego.

sudo apt-get update
sudo apt-get install build-essential chrpath libssl-dev libxft-dev

Zainstaluj te pakiety potrzebne PhantomJS do poprawnego działania.

sudo apt-get install libfreetype6 libfreetype6-dev
sudo apt-get install libfontconfig1 libfontconfig1-dev

Pobierz go ze strony 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

Po pobraniu przenieś folder Phantomjs do /usr / local/ share / i utwórz dowiązanie symboliczne:

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

Teraz powinno mieć PhantomJS prawidłowo na Twoim systemie.

phantomjs --version
 0
Author: PYK,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-09-18 07:54:48

Znalazłem ten prostszy sposób-Phantom dependencies + 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

I npm

[sudo] npm install -g phantomjs
Zrobione.
 0
Author: Nitin Jadhav,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-12-08 15:51:47

Na Linuksie do uruchomienia hello.js nie zapomnij dodać ścieżki hello.js:

Phantomjs YourPathToPhantomjsFolder/examples / hello.js

 0
Author: Mr Rubix,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-01-12 20:17:24

Jeśli chcesz łatwo używać phantomjs, możesz go użyć w phantomjscloud.com Możesz uzyskać wynik tylko przez żądanie http.

 0
Author: Shin Kim,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-03-22 06:48:37

Na Ubuntu Dla Windows, nie znalazłem ani apt-get ani npm wersje działają dla mnie. Zadziałał skrypt z tego komentarza .

Dla ułatwienia, wkleiłem całość do pliku skryptu o nazwie install_phantomjs.sh, zrobiłem go wykonywalnym (chmod u+x install_phantomjs.sh), a następnie uruchomiłem (./install_phantomjs.sh)

 0
Author: Nick F,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-01-17 18:16:22

W ten sposób umieszczam konkretną wersję phantomjs w /usr/local/bin na moich kontenerach docker.

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

Lub bez ./ w zależności od systemu operacyjnego.

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
 0
Author: Erik Aulin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-02 09:47:31

Możesz zacząć działać bez sudo lub npm. Simply Pobierz, extract , and add to path.

Ma to dodatkową zaletę easy backup Jeśli masz nawyk tworzenia kopii zapasowych całego folderu domowego, co bardzo polecam. Działa to również z dowolną wersją Linuksa.

➤  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

Wady to:

  1. będziesz musiał ręcznie uaktualnić
  2. inni użytkownicy nie będą mieli do tego dostępu.

Możesz użyć bardzo prostego skryptu powłoki do instalacji / aktualizacji

#!/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"

Lub w pliku 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
 0
Author: HarlemSquirrel,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-06-13 15:43:38

Oto co zrobiłem na moim komputerze 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

And finally when I do

phantomjs -v

I get 2.1.1

Po przejrzeniu każdej odpowiedzi tego wątku. Myślę, że jest to najlepsze rozwiązanie do instalacji i uruchamiania phantomjs w ubuntu.

 0
Author: aakrshak_,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-03-29 18:52:40