Как я могу установить и запустить PhantomJS в Ubuntu?

144

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

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

В моей настройке что-то не так?

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

phantomjs hello.js 

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

  • 0
    каков вывод whereis phatomjs?
  • 0
    / Главная / Furkan / phantomjs
Показать ещё 4 комментария
Теги:
installation
phantomjs

24 ответа

346
Лучший ответ

Ответ 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

Если кто-либо видит какие-либо проблемы с тем, что я сделал, сообщите мне.

  • 7
    если вам нужна последняя ссылка sym, то это потому, что у вас нет / usr / local / bin в вашем PATH
  • 0
    Я получаю сообщение об ошибке: sudo ln -s /usr/local/share/phantomjs-1.8.1-linux-x86_64/bin/phantomjs / usr / local / bin / phantomjs ln: создание символической ссылки `/ usr / local / bin / phantomjs ': нет такого файла или каталога
Показать ещё 12 комментариев
107

PhantomJS находится на npm. Вы можете запустить эту команду, чтобы установить ее глобально:

npm install -g phantomjs-prebuilt  

phantomjs -v должен возвращать 2.1.1

  • 6
    +1 в Ubuntu это дает версию 1.9.7 а не 1.4.0 .
  • 1
    +1 за использование npm но посмотри мой ответ
Показать ещё 3 комментария
55

скачать с веб-сайта 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

  • 4
    это phantomjs -v
  • 0
    Это сработало отлично. Спасибо!
Показать ещё 4 комментария
36

Установить из менеджера пакетов:

sudo apt-get install phantomjs
  • 2
    К сожалению, сейчас устанавливается версия 1.4, которая настолько старая, что многие вещи, использующие phantom.js, просто не будут работать.
  • 0
    @JulianBirch Да, я думаю, что если у вас есть Ubuntu Saucy Salamander (13.10), вы можете получить версию 1.9.0 в соответствии с этой [link] launchpad.net/ubuntu/+source/phantomjs , которую я только что установил из Raring Ringtail (13.04) и я получаю версию 1.6.0, как это также сказать в ссылке
Показать ещё 3 комментария
13

Вот шаги сборки, которые я использовал (обратите внимание, что эти инструкции относятся к версии 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

  • 0
    спасибо тебе за ответ я попробую
  • 0
    спасибо, что было полезно
Показать ещё 3 комментария
12

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

Для Ubuntu Linux (протестирован на barebone-установке 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
  • 3
    Я думаю, что следует отметить (как на веб-сайте PhantomJS), что сборка из исходного кода может занять очень много времени (часы на маленькой машине).
  • 1
    Следует также отметить, что этот ответ решил проблему, которая возникла у меня с phantomjs, когда не удалось использовать готовые двоичные файлы. Компиляция на 2-гигабайтном двухъядерном виртуальном сервере Ubuntu 10.04 заняла около 1 часа.
7

Для Ubuntu вы можете использовать готовые версии загружаемые с сайта PhantomJS.

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

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

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

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

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

4

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

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 ..
  • 0
    @artjom b: это было бы лучше в качестве комментария, чем редактирования. «Вам не нужно забывать поместить полученный исполняемый файл из ./build.sh в каталог, который находится в переменной окружения PATH. Это можно сделать с помощью символической ссылки, как в этом примере».
  • 0
    Вы не должны забывать поместить полученный исполняемый файл из ./build.sh в каталог, который находится в переменной окружения PATH. Это можно сделать с помощью символической ссылки, как в этом примере.
Показать ещё 1 комментарий
3

Персоналий Я предпочитаю использовать npm (см. Ответ Arnel Bucio)

sudo npm install -g phantomjs

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

Изображение 3925

так!

  • Создайте новую ссылку каталога /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 .
    
  • 0
    Отредактировано, спасибо @ArtjomB.
  • 1
    Выполнение команд после того, как сломал это для меня на Ubuntu 14.04. Работает только с установкой npm , после sudo apt-get install libfontconfig .
2

См. ссылку Руководство по установке находится в...

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

И запустите в терминале с помощью этой команды

phantomjs --webdriver = 4444

2

Я сделал с этим.

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
1

Я знаю, что это слишком старо, но, как раз в случае, если кто-то доберется до этого вопроса от Google сейчас, вы можете установить его, набрав apt-get install phantomjs

  • 0
    Устанавливает X11
  • 0
    да спасибо .. ваш на всякий случай работал на меня !!
1

Знайте, что это определенно один из способов сделать это:

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

К сожалению, он устанавливает 1.6, а не последнюю, но это работает для моих целей.

  • 0
    Это устанавливает версию 1.9.0-1 сейчас
1

Для 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

Обязательно замените имя файла в этих командах на файл, который вы загрузили.

1

С официального сайта: сайт 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
0

Вы можете запускать и запускать без 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

Недостатки:

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

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

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

Вот как я помещаю определенную версию 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
0

В Ubuntu для Windows я не нашел ни для меня ни apt-get, ни npm. Работала script из этот комментарий.

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

0

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

  • 2
    Это не было тем, о чем просил ОП.
  • 0
    Спасибо за ваш комментарий. Это я был виноват
0

В linux для запуска hello.js не забудьте добавить путь hello.js:

phantomjs YourPathToPhantomjsFolder/examples/hello.js

0

Я нашел этот более простой способ - 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

и npm

[sudo] npm install -g phantomjs

Готово.

0

Ниже описана процедура установки Хулио Напури 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
0

Установка и вызов Phantomjs

Следуйте инструкциям, которые не работают, но клонированы от других. (Ver2.0)

0

Или последняя - 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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню