Подтвердить что ты не робот

Как обновить phantomjs 1.9.8 до phantomjs 2.1.1 на ubuntu?

Я не могу переустановить phantomjs с версии 1.9.8 до 2.1.1 на моем ubuntu 16.04 Пожалуйста помоги. 1.9.8 дают мне ошибки при записи спиновых функций, в документации см., Что этот ploblem я могу решить с повторной установкой.

4b9b3361

Ответ 1

Я только что установил 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

Ответ 2

Вот как я это сделаю, если буду развиваться. Пакеты имеют версию до nodejs, а не ubuntu:

Используйте 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, и теперь у нас есть доступ к выбору какой-либо версии фантомов:

[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 '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"

Протестировано на ubuntu 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

Ответ 3

Итак, ответ 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/bin, но вы можете поместить символическую ссылку в любом месте...

Ответ 4

Для тех, у кого есть проблемы с установкой, как я

это проще, чем вы думаете...

  • Я удалю phantomjs: Удалите phantomjs из ubuntu sudo apt-get remove phantomjs или удалите папку npm из /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: npm install phantomjs из каталога /, npm установить его в папку /node_module/phantomjs

Пример

cd /;
npm install phantomjs
  • Файл тестового бункера

Пример

//check version of phantomjs
/node_modules/phantomjs/bin/phantomjs -v
/node_modules/phantomjs/bin/phantomjs test.js
  • bin файла для файлов /usr/bin:

Пример

ln -sf /node_modules/phantomjs/bin/phantomjs /usr/bin/phantomjs

  • проверить его версию, чтобы узнать, хорошо ли это в phantomjs -v phantomjs -v 2.1.1

Ответ 5

phantomjs 2.1.1 теперь в комплекте с 16.04 (https://launchpad.net/ubuntu/xenial/+source/phantomjs), поэтому вы должны иметь возможность устанавливать/обновлять его как системный пакет.

Обновление: этот ответ существует в информационных целях, но теперь не рекомендуется использовать версию системного пакета из-за таких проблем, как: https://bugs.launchpad.net/ubuntu/+source/phantomjs/+bug/1605628 Это связано с проблемой с загрузкой файла, которая была исправлена ​​вверх по течению, но характер этого исправления помешал ему работать как системный пакет.

Лучшая текущая опция - использовать предварительно построенный двоичный файл: https://bitbucket.org/ariya/phantomjs/download