web-dev-qa-db-fra.com

Comment puis-je configurer et exécuter PhantomJS sur Ubuntu?

J'ai configuré PhantomJS et l'ai enregistré sur vidéo: https://www.dailymotion.com/video/xnizmh_1_webcam

Instructions de construction: http://phantomjs.org/build.html

Y at-il quelque chose de mal dans ma configuration?

Après l’avoir configuré, j’ai lu le tutoriel de démarrage rapide et essayé d’écrire ce code.

phantomjs hello.js 

Cela me donne une erreur "commande introuvable". Comment puis-je résoudre ce problème?

160
FURKAN ILGIN

La réponse de Guidouil m'a mis sur la bonne voie. J'ai dû ajouter un lien symbolique supplémentaire vers/usr/bin/et j'ai créé des liens symboliques directs pour les trois (voir ci-dessous).

J'installe sur le serveur Ubuntu Natty Narwhal.

C'est exactement ce que j'ai fait.

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

Et enfin quand je le fais

phantomjs -v

Je reçois 1.9.7

Si quelqu'un voit des problèmes avec ce que j'ai fait, s'il vous plaît faites le moi savoir.

357
shawn

PhantomJS est activé npm . Vous pouvez exécuter cette commande pour l'installer globalement:

npm install -g phantomjs-prebuilt  

phantomjs -v devrait renvoyer 2.1.1

109
Arnel Bucio

téléchargez le paquet préconfiguré depuis le site Web de Phantomjs: http://phantomjs.org/download.html puis ouvrez un terminal et accédez au dossier Téléchargements

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

puis pour vérifier l'installation phantomjs -v devrait retourner 1.8.1

58
Guidouil

Installer depuis le gestionnaire de paquets:

Sudo apt-get install phantomjs
38
user1378912

Voici les étapes de construction que j'ai utilisées (notez que ces instructions concernent la version 1.3. Voir les commentaires sur cette réponse pour les instructions d'installation du dernier 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

installez maintenant Xvfb

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

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

Maintenant, lancez fantôme:
DISPLAY=:23 ./phantomjs hello.js

14
Vijay Boyapati

Pour la version de PhantomJS supérieure à 1.5, tenez compte de ceci (copie intégrale des instructions de construction sur le site Web fantôme):

Pour Ubuntu Linux (testé sur une installation barebone d'Ubuntu 10.04 Lucid Lynx et 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
nbkdotdev

Pour Ubuntu, vous pouvez utiliser les versions préconfigurées téléchargeables à partir du site PhantomJS .

Si vous avez du temps à perdre, vous pouvez aussi le construire vous-même . (C'est exactement la procédure de la réponse de Nikhil).

Les gars de PhantomJS recommandent d’utiliser les fichiers binaires pour gagner du temps:

Avertissement: La compilation de PhantomJS à partir des sources prend beaucoup de temps, principalement à cause de milliers de fichiers dans le module WebKit. Avec 4 tâches de compilation en parallèle sur une machine moderne, le processus complet prend environ 30 minutes. Il est vivement recommandé de télécharger et d'installer le package binaire prêt à l'emploi s'il est disponible.

Avec une machine moderne, ils signifient> 4 cœurs,> 8 Go, je pense. Je l'ai essayé sur une instance micro AWS et ai abandonné après 2 heures.

En bref: installez les paquets pré-construits à partir du site PhantomJS selon leurs instructions.

7
iwein

Personnellement, je préfère utiliser npm (voir réponse d'Arnel Bucio )

Sudo npm install -g phantomjs

mais! J'ai remarqué que certains modules de npm ne peuvent toujours pas le voir comme un exécutable global.

enter image description here

alors!

  • Créer un nouveau lien de répertoire /usr/share/phantomjs/

    cd /usr/share
    Sudo ln -s ../lib/node_modules/phantomjs/lib/phantom phantomjs
    
  • Supprimer l'ancien /usr/bin/phantomjs lien exécutable et créer le nouveau

    cd /usr/bin
    Sudo mv phantomjs phantomjs.old
    Sudo ln -s ../share/phantomjs .
    
4
Fery Wardiyanto

dans mon bootstrap vagabond:

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
rev

Voir lien Le guide d'installation est en ...

https://Gist.github.com/julionc/747662

Et courir en terminal avec cette commande

phantomjs --webdriver = 4444

2
Yasar Arafath

J'ai fini avec ça.

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
Amar Banerjee

Pour Ubuntu, téléchargez le fichier approprié à partir de http://phantomjs.org/download.html . CD dans le dossier téléchargé. Ensuite:

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

Assurez-vous de remplacer le nom de fichier dans ces commandes par le fichier que vous avez téléchargé.

1
Humming

Depuis le site officiel: site 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
1
Igor Shubin

Je sais que c'est trop vieux, mais, au cas où quelqu'un aurait à répondre à cette question de Google maintenant, vous pouvez l'installer en tapant apt-get install phantomjs

1
Nico Savini

Sachez que c’est certainement une façon de le faire:

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

Malheureusement, il installe 1.6 et non le dernier, mais cela fonctionne pour mes besoins.

1
Starkers

C’est ainsi que je place une version spécifique de phantomjs dans/usr/local/bin sur mes conteneurs 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

ou sans ./ selon le système d'exploitation.

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
MrAirikr

Sur Ubuntu pour Windows, je n'ai trouvé ni les versions apt-get ni npm ne fonctionnaient pour moi. Ce qui a fonctionné était le script de ce commentaire .

Pour plus de facilité, j'ai tout collé dans un fichier script appelé install_phantomjs.sh, je l'ai rendu exécutable (chmod u+x install_phantomjs.sh), puis je l'ai exécuté (./install_phantomjs.sh).

0
Nick F

Ou la dernière - version 32bits 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
0
Nesha Zoric

Voici ce que j'ai fait sur ma machine 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

et enfin quand je le fais

phantomjs -v

Je reçois 2.1.1

Après avoir parcouru toutes les réponses de ce fil. Je pense que c'est la meilleure solution pour installer et faire fonctionner phantomjs à Ubuntu.

0
aakrshak_

Ci-dessous la procédure d'installation de Julio Napurí https://Gist.github.com/julionc

Version: 1.9.8

Plate-forme: x86_64

Commencez par installer ou mettre à jour le logiciel système le plus récent.

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

Installez ces paquets nécessaires à PhantomJS pour fonctionner correctement.

Sudo apt-get install libfreetype6 libfreetype6-dev
Sudo apt-get install libfontconfig1 libfontconfig1-dev

Obtenez-le sur le site Web de 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

Une fois téléchargé, déplacez le dossier Phantomjs vers/usr/local/share/et créez un lien symbolique:

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

Maintenant, il devrait avoir PhantomJS correctement sur votre système.

phantomjs --version
0
PYK

Installation et appel de Phantomjs

Suivez les étapes ne fonctionne pas, mais cloné à partir d'autres construits. (ver2.0)

0
RYO ENG Lian Hu

J'ai trouvé ce moyen plus simple - dépendances Phantom + 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

et npm

[Sudo] npm install -g phantomjs

Terminé.

0
Nitin Jadhav

Si vous voulez utiliser phantomjs facilement, vous pouvez l’utiliser sur phantomjscloud.com. Vous pouvez obtenir le résultat simplement par requête http.

0
Shin Kim

Sur Linux pour lancer hello.js, n'oubliez pas d'ajouter le chemin de hello.js:

phantomjs VotrePathToPhantomjsFolder/examples/hello.js

0
Mr Rubix

Vous pouvez être opérationnel sans Sudo ou npm. Simplement télécharger, extraire, et ajouter au chemin.

Cela a l'avantage supplémentaire de sauvegarde facile si vous avez l'habitude de sauvegarder tout votre dossier de départ, ce que je vous recommande vivement. Cela fonctionne également avec n’importe quelle version de 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

Les inconvénients sont:

  1. Vous devrez mettre à jour manuellement
  2. Les autres utilisateurs n'y auront pas accès.

Vous pouvez utiliser un script Shell très simple pour installer/mettre à niveau

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

Ou dans un fichier Docker

# 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
HarlemSquirrel