Я не могу переустановить phantomjs 1.9.8 до версии 2.1.1 на моем ubuntu 16.04 Пожалуйста, помогите. 1.9.8 дать мне ошибки при написании функций вращения, в документации см., Что этот ploblem я могу решить с повторной установкой.Как обновить phantomjs 1.9.8 до phantomjs 2.1.1 на ubuntu?
ответ
Я только что установил phantomjs 2.1.1 в Ubuntu 16.04 со следующими шагами, которые я нашел после немного прибегая к помощи:
sudo apt-get install nodejs
sudo apt-get install nodejs-legacy
sudo apt-get install npm
sudo npm -g install phantomjs-prebuilt
Вот как я бы это сделать, если бы я разработке. Пакеты версионируются в nodejs и не убунту:
Использование nvm
: https://github.com/creationix/nvm
touch ~/.profile
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.7/install.sh | bash
source ~/.profile
# node 6x
nvm install 6.5.0
npm install [email protected]
# node 4x
nvm install 4.5.0
nvm use 4.5.0
npm install [email protected]
# node 0.12x
nvm install 0.12
npm show [email protected]* version
npm install [email protected]
Возможно, мы разрабатываем на 0.10, 0.12, 4.X, iojs4.x, 6.X, etc
хорошо теперь мы имеем доступ выбрать тот вариант phantomjs:
[email protected]:~$ npm show [email protected]* version
[email protected] '0.0.1'
[email protected] '0.0.2'
[email protected] '0.0.3'
[email protected] '0.0.4'
[email protected] '0.0.5'
[email protected] '0.0.6'
[email protected] '0.0.7'
[email protected] '0.0.8'
[email protected] '0.0.9'
[email protected] '0.1.0'
[email protected] '0.1.1'
[email protected] '0.2.0'
[email protected] '0.2.1'
[email protected] '0.2.2'
[email protected] '0.2.3'
[email protected] '0.2.4'
[email protected] '0.2.5'
[email protected] '0.2.6'
[email protected] '1.9.8'
[email protected] '1.9.9'
[email protected] '1.9.10'
[email protected] '1.9.11'
[email protected] '1.9.12'
[email protected] '1.9.13'
[email protected] '1.9.15'
[email protected] '1.9.16'
[email protected] '1.9.17'
[email protected] '1.9.18'
[email protected] '1.9.19'
[email protected] '2.1.1'
[email protected] '2.1.2'
[email protected] '2.1.3'
[email protected] '1.9.20'
[email protected] '2.1.7'
общесистемные сценарии развертывания и т. д.
Вот как используется tarball
export PHANTOM_JS_VERSION=2.1.1
wget "https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-$PHANTOM_JS_VERSION-linux-x86_64.tar.bz2"
tar xvfj "./phantomjs-$PHANTOM_JS_VERSION-linux-x86_64.tar.bz2"
ln -sf "./phantomjs-$PHANTOM_JS_VERSION-linux-x86_64/bin/phantomjs" "/usr/bin"
Проверено на убунту 14.04, возможно переместить папку в другое место, кроме ./
обновление для 16.04:
Wget может или не может работать увидеть: https://github.com/Medium/phantomjs/issues/161
# install dependencies
sudo apt-get install libfontconfig
# extract the tar file
tar xvfj "./phantomjs-$PHANTOM_JS_VERSION-linux-x86_64.tar.bz2"
# use full path
ln -sf "$(pwd)/phantomjs-$PHANTOM_JS_VERSION-linux-x86_64/bin/phantomjs" "/usr/bin"
Ошибка
phantomjs: ошибка при загрузке разделяемых библиотек: libfontconfig.so.1: не удается открыть общий объектный файл: Нет такого файла или каталога
Try:
sudo apt-get install libfontconfig
Не работает на Ubuntu 16.04 – 3zzy
@ 3zzy your're right, обновленный выглядит как проблема зависимости, и ссылка на относительный путь могла быть проблемой. Также по какой-либо причине «wget» не работал, поэтому я «scp» tar-мяч перешел на машину. Добавлена проблема github с той же ошибкой, что и 403 acess. – jmunsch
Для тех, у кого есть проблемы, чтобы установить, как я
это проще, чем вы думаете ...
- деинсталлировать phantomjs: Удалить phantomjs из убунту
sudo apt-get remove phantomjs
или удалить НУЮ папку/node_modules/phantomjs
это будет в/
, возможно, вам нужно будет удалитьln
ссылку на phantomjs в/usr/bin
или/usr/local/bin/
названии этого являетсяphantomjs
Пример
//use this if you installed with apt-get
sudo apt-get remove phantomjs *remove the phantomjs
rm /usr/bin/phantomjs *use this if the link didn't remove.
//use this if you installed from npm: like this: npm install phantomjs
rm -R /node_modules/phantomjs *note: it will be in other folder, search it.
- установить phantomjs от НПМ:
npm install phantomjs
из/
каталога, НПМ установить его в папку/node_module/phantomjs
Пример
cd /;
npm install phantomjs
- Test бин файл
Пример
//check version of phantomjs
/node_modules/phantomjs/bin/phantomjs -v
/node_modules/phantomjs/bin/phantomjs test.js
- файл ссылка бен
/usr/bin
:
Пример
ln -sf /node_modules/phantomjs/bin/phantomjs /usr/bin/phantomjs
- проверить версию, чтобы посмотреть, если это нормально
phantomjs -v
в моем случае2.1.1
Таким образом, ответ jmunsch работает для меня, но только, чтобы обеспечить четкое и минимальный рецепт:
export PHANTOM_JS_VERSION=2.1.1
sudo apt-get install libfontconfig
wget "https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-$PHANTOM_JS_VERSION-linux-x86_64.tar.bz2"
tar xvfj "./phantomjs-$PHANTOM_JS_VERSION-linux-x86_64.tar.bz2"
ln -sf "$(pwd)/phantomjs-$PHANTOM_JS_VERSION-linux-x86_64/bin/phantomjs" "/usr/bin"
Последняя строка требует Sudo из-за/USR/бен, но вы можете поместить символическую ссылку везде ...
phantomjs 2.1.1 теперь в комплекте с 16.04 (https://launchpad.net/ubuntu/xenial/+source/phantomjs), поэтому вы должны иметь возможность устанавливать/обновлять его как системный пакет.
Update: Ответ на этот вопрос существует для информационных целей, но не рекомендуется использовать версию системы пакетов в настоящее время из-за проблемы, такие как: https://bugs.launchpad.net/ubuntu/+source/phantomjs/+bug/1605628 Это связанно с проблемой с загрузкой файлов, было зафиксировано вверх по течению, но характер исправления помешал ему работать как системный пакет.
Лучший вариант тока использовать скомпилированную бинарного от: https://bitbucket.org/ariya/phantomjs/download
Поскольку PhantomJS не имеет ничего общего с Node.js или НМП (устанавливается только для удобства), это устанавливает целую экосистему для одного двоичного файла, который не имеет ничего с экосистемой. –
Правда. Узлы (и nodejs-legacy) требуются для npm для успешной установки phantomjs. Шаги, которые я выполнил, были предназначены для использования с селеном в питоне. Npm всегда можно удалить после завершения.Это был очень быстрый способ заставить водителя PhantomJS работать с селеном. – dmdip