Как я могу настроить и запустить 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
вот шаги сборки, которые я использовал (примечание эти инструкции предназначены для версии 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
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
модуль все еще не может видеть его как глобальный исполняемый файл.так!
создать новый
в моем бродячем бутстрапе:
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
ссылка Руководство по установке находится внутри ...
и запустить в терминале командой
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
или последняя-32bit версия 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
ниже процедура установки Хулио Напури 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 для 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
недостатки:
- вам нужно будет вручную обновление
- другие пользователи не будут иметь доступ к этому.
вы можете использовать очень простой скрипт оболочки для установки / обновления
#!/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.