Как настроить и запустить PhantomJS на Ubuntu?

Я настроил PhantomJS и записал его на видео:https://www.dailymotion.com/video/xnizmh_1_webcam

инструкции по сборке:http://phantomjs.org/build.html

что-то не так в моей конфигурации?

после того, как я установил его, я прочитал краткое руководство и попытался написать этот код

phantomjs hello.js 

это дает мне ошибку" команда не найдена". Как я могу решить эту проблему?

25 ответов


ответ Гвидуиля поставил меня на правильный путь. Мне пришлось добавить одну дополнительную символическую ссылку на /usr/ bin/, и я сделал прямые символические ссылки для всех 3 - см. ниже.

Я устанавливаю на Ubuntu server 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 затем откройте терминал и перейдите в папку загрузок

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 &

теперь запустите phantom:
DISPLAY=:23 ./phantomjs hello.js


для версии PhantomJS выше 1.5 рассмотрите это (дословная копия инструкций по сборке на веб-сайте phantom):

для Ubuntu Linux (протестирован на barebone установки Ubuntu 10.04 Lucid Рысь и 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.

Если у вас есть много времени на ваших руках вы также можете Сделай сам. (Это точно процедура из ответа Нихила).

ребята из PhantomJS рекомендуют использовать двоичные файлы для экономии времени:

предупреждение: компиляция PhantomJS из исходного кода занимает много времени, в основном из-за тысяч файлов в WebKit модуль. С 4 параллельными заданиями компиляции на современной машине весь процесс занимает примерно 30 минут. Настоятельно рекомендуется скачать и установить готовый бинарный пакет, если он доступен.

с современной машиной они означают > 4 ядра, > 8gb mem, я думаю. Я попробовал его на экземпляре micro AWS и сдался через 2 часа.

короче говоря: установите готовые пакеты с сайта PhantomJS в соответствии с их инструкциями.


лично я предпочитаю использовать npm (см. Bucio Арнел ответ)

sudo npm install -g phantomjs

но! Я заметил, что некоторые npm модуль по-прежнему не может видеть его как глобальный исполняемый файл.

enter image description here

так!

  • создать новый


в моем бродячем бутстрапе:

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 ..

Я закончил с этим.

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, а не последний, но это работает для моих целей.


Я знаю, что это слишком старый, но, просто Я случай, когда кто-то получает этот вопрос от Google now, вы можете установить его, набрав 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

следуйте инструкциям не работает,но клонируется из других построенных. (вер2.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

Я нашел этот более простой способ-фантомные зависимости + 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 / примеры / Здравствуйте.js


Если вы хотите использовать phantomjs легко, вы можете использовать его на phantomjscloud.com Вы можете получить результат только по http-запросу.


на Ubuntu для Windows, я не нашел ни apt-get, ни npm версии работали для меня. Сработал сценарий из комментарий.

для удобства использования, я вставил все это дело в файл сценария под названием install_phantomjs.sh, сделал его исполняемым (chmod u+x install_phantomjs.sh), а затем запустил его (./install_phantomjs.sh)


вот как я размещаю определенную версию phantomjs в /usr/local / bin на моих контейнерах 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

и ./ в зависимости от операционной системы.

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

недостатки:

  1. вам будет нужно вручную обновление
  2. другие пользователи не будут иметь доступ к этому.

вы можете использовать очень простой сценарий оболочки для установки / обновления

#!/bin/sh
# install_phantomjs.sh $VERSION

$VERSION = 
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

после прохождения каждого ответа этой темы. Я думаю, что это лучшее решение для установки и запуска phantomjs в ubuntu.