UbuntuでPhantomJSをセットアップして実行するにはどうすればよいですか?


163

PhantomJSをセットアップして、ビデオに録画しました:https ://www.dailymotion.com/video/xnizmh_1_webcam

ビルド手順:http : //phantomjs.org/build.html

セットアップに問題はありますか?

セットアップした後、クイックスタートチュートリアルを読み、このコードを書きました

phantomjs hello.js 

「コマンドが見つかりません」というエラーが表示されます。この問題を解決するにはどうすればよいですか?


whereis phatomjsの出力は何ですか?
Alex

この回答を試してください stackoverflow.com/questions/6448459/phantomjs-not-working
Alex


私はそれを試してみましたが、同じエラーが発生します:(
FURKAN ILGIN

問題を解決していただきありがとうございます。問題は、プログラムにソフトリンクがないことです。ご協力ありがとうございます:)
FURKAN ILGIN

回答:


360

ギドゥイユの答えは私を正しい軌道に乗せました。/ usr / bin /にシンボリックリンクを1つ追加する必要があり、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リンクが必要なのは、PATHに/ usr / local / binがないためです
DrewB

1
これは機能usr/bin/usr/localますが、へのリンクを作成する代わりに、全体をコピーして貼り付けるべきではない理由を誰かに説明できますか?
ハイゼンベルク2013年

6
誰もが拒否された許可を得ますか?
ユーザー

1
phantomjsを任意のディレクトリから使用できるようにするには、$ PATH変数にリストされているディレクトリのいずれかにシンボリックリンクを追加するだけで十分です。(「echo $ PATH」を実行して、それらが何であるかを確認します)。
Juampy NR 2014

5
この問題が発生しました:bin / phantomjs:共有ライブラリの読み込み中にエラーが発生しました:libfontconfig.so.1:共有オブジェクトファイルを開けません:そのようなファイルまたはディレクトリはありません。ここで修正を見つけました。コマンドを実行しますsudo apt-get install libfontconfig
ニール・ホフ

110

PhantomJSはnpmにあります。このコマンドを実行して、グローバルにインストールできます。

npm install -g phantomjs-prebuilt  

phantomjs -v 戻るはずです 2.1.1


6
Ubuntuで+1すると、とは1.9.7対照的にバージョンが提供され1.4.0ます。
opyate 2014

1
使用するための+1 npm、私の答えを
Fery Wardiyanto '20

1
bitbucket.orgは、プロキシによってブロックされている場合npm install phantomjs --phantomjs_cdnurl=http://cnpmjs.org/downloads
79E09796

1
Ubuntu 14.04では、これは私になりました2.1.1
ジョーモーニン

ubuntu 18.04で、ルートとして実行する必要があるというエラーが表示されます。sudoそれは動作します:sudo npm install -g phantomjs-prebuilt
rubo77

58

phantomjsウェブサイトからビルド済みのパッケージをダウンロードします:http : //phantomjs.org/download.html 次にターミナルを開き、Downloadsフォルダーに移動します

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


直接コピーして貼り付ける代わりにリンクを作成するのはなぜですか?
ハイゼンベルク2013年

2
シンボリックリンクできるのに、なぜ直接貼り付けをコピーするのですか?= /
Jared Markell 2014

1
新しいubuntuでもapt-get install libfontconfig
Ryan Detzel

ユーザーディレクトリにphantomjsをインストールしました。セレンはそれでうまくいきませんでした。次に、phantomjsをに移動して/usr/local/share、これらのシンボリックリンクを作成しました。その後、(ファイルのアクセス許可は同じでしたが)機能しました。これが違いを生んだ理由を誰かがこの非Linuxエキスパートに説明できますか?
ピーター

38

パッケージマネージャーからインストール:

sudo apt-get install phantomjs

2
残念なことに、これにより1.4がインストールされます。これは古く、phantom.jsを使用する多くのものが機能しなくなります。
ジュリアンバーチ

@JulianBirchはい、私はあなたがUbuntuの生意気サラマンダー(13.10)を持っている場合は、この[リンク]に応じ1.9.0バージョンを取得することができると思いlaunchpad.net/ubuntu/+source/phantomjs、私はちょうどウズウズRingtail(13.04)からインストールそして、リンクにも記載されているように、私は1.6.0バージョンを取得します

3
Ubuntuの14.04で1.9.0をインストールし
IonicăBizău

6
ただし、からインストールすることをお勧めしnpm install -g phantomjsます。
IonicăBizău

1
取り付けたばかりです。現在は1.9.0です。
Strabek、2015年

14

以下は、私が使用したビルド手順です(これらの手順はバージョン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 &

ファントムを実行します。
DISPLAY=:23 ./phantomjs hello.js


16
これらの手順は廃止されました。現在のバージョン(1.5)では、qtまたはxfvbをインストールする必要はありません。code.google.com/p/phantomjs/wiki/Installationを
michelpm

2
ミシェルは正解です。仮想ディスプレイ(Xvfb)を必要としないため、ファントムの最新バージョンを使用する必要があります
Vijay Boyapati '28

アンドレからの返事は私にとってより速くて簡単でした。
fooMonster 2013

12

1.5より上のPhantomJSバージョンの場合、これを検討してください(ファントムWebサイトのビルド手順の逐語的コピー)。

Ubuntu Linux(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のWebサイトにあるように)ソースからのビルドには非常に長い時間がかかる(小さなマシンでは数時間)ことに注意してください。
Whymarrh 2014

1
また、この回答により、ビルド済みバイナリの使用に失敗したときにphantomjsで発生した問題が解決されたことにも注意してください。2GBのubuntu 10.04デュアルコア仮想でコンパイルするのに約1時間かかりました。
キースジョンハッチソン

7

Ubuntuの場合は、PhantomJSサイトからダウンロード可能なビルド済みバージョンを使用できます。

深刻な時間が手に入る場合は、自分で作成することもできます。(これはまさにNikhilの答えからの手順です)。

PhantomJSの担当者は、バイナリを使用して時間を節約することをお勧めします。

警告:PhantomJSをソースからコンパイルすると、主にWebKitモジュール内の何千ものファイルが原因で時間がかかります。最新のマシンで4つの並列コンパイルジョブを使用すると、プロセス全体で約30分かかります。入手可能な場合は、既製のバイナリパッケージをダウンロードしてインストールすることを強くお勧めします。

最近のマシンでは、4コア以上、8 GB以上のメモリを意味すると思います。私はマイクロAWSインスタンスでそれを試し、2時間後にあきらめました。

つまり、PhantomJSサイトから事前にビルドされたパッケージを指示に従ってインストールします。


4

個人的に私は使用を好むnpmArnel Bucio回答を参照)

sudo npm install -g phantomjs

だが!一部のnpmモジュールがまだグローバルな実行可能ファイルとして認識できないことに気づきました。

ここに画像の説明を入力してください

そう!

  • 新しい/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 .
    

1
Ubuntu 14.04で壊れた後にコマンドを実行すると、npmインストールだけで機能しsudo apt-get install libfontconfigます。
Akshat 2014年

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

@artjom b:これは編集よりもコメントとして優れています。「./build.shから生成された実行可能ファイルをPATH環境変数にあるディレクトリに配置することを忘れる必要はありません。これは、この例のようにシンボリックリンクを介して実行できます。」
2014

結果の実行可能ファイルを./build.shPATH環境変数にあるディレクトリに配置することを忘れる必要はありません。これは、この例のようにsymlinkを介して行うことができます。
Artjom B. 14

それが、他のすべての答えがを使用するときに忘れているものbuild.shです。私はその事実をより目に見えるようにすることによってあなたの答えを改善したかっただけです。あなたがそれを望まないなら、大丈夫です。
Artjom B. 14

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

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

これは間違いなくそれを行う1つの方法であることに注意してください。

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

悲しいことに、最新のものではなく1.6をインストールしますが、これは私の目的のために機能します。


これは、バージョンをインストールし1.9.0-1、今
ショーン・

1

私はこれが古すぎることを知っていますが、誰かが今Googleからこの質問に遭遇した場合、apt-get install phantomjsと入力してインストールできます


X11をインストールします
eozzy 2016

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


0

JulioNapuríによるインストール手順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 Webサイトから入手してください。

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

私はこのより簡単な方法を見つけました-ファントム依存関係+ 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

Linuxでhello.jsを実行するには、hello.jsのパスを追加することを忘れないでください。

phantomjs YourPathToPhantomjsFolder / examples / hello.js


0

phantomjsを簡単に使用したい場合は、phantomjscloud.comで使用できます。httpリクエストだけで結果を取得できます。


2
これは、OPが要求したものとはまったく異なります。
Sujal Mandal、

コメントありがとうございます。それは私のせいでした
シン・キム

0

Ubuntu for Windowsでは、どちらapt-getnpm機能しないことがわかりました。機能したのは、このコメントのスクリプトです。

使いやすさのために、すべてをと呼ばれるスクリプトファイルに貼り付け、install_phantomjs.sh実行可能にして(chmod u+x install_phantomjs.sh)、実行しました(./install_phantomjs.sh


0

これは、特定のバージョンのphantomjsをdockerコンテナーの/ 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

または./OSによってはありません。

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

あなたは立ち上がってなしで実行することができますsudonpmダウンロードして解凍しパスに追加するだけです。

これには、ホームフォルダー全体をバックアップする習慣がある場合に簡単にバックアップできるという追加の利点があります。これは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 = $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

これが 私が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を取得

このスレッドのすべての答えを調べた後。これは、ubuntuでphantomjsをインストールして実行するための最良のソリューションだと思います。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.