问题描述
我设置了PhantomJS并将其录制到视频:https://www.dailymotion.com/video/xnizmh_1_webcam
构建说明:http://phantomjs.org/build.html
我的设置有什么问题吗?
在我设置之后,我读了quick start tutorial并尝试编写此代码
phantomjs hello.js
它给了我“命令未找到”错误。我怎么解决这个问题?
最佳解决办法
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
如果有人发现我所做的任何问题,请告诉我。
次佳解决办法
PhantomJS在npm上。您可以运行此命令以全局安装它:
npm install -g phantomjs-prebuilt
phantomjs -v
应返回2.1.1
第三种解决办法
从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
第四种办法
从包管理器安装:
sudo apt-get install phantomjs
第五种办法
以下是我使用的构建步骤(请注意这些说明适用于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 &
现在运行幻像:DISPLAY=:23 ./phantomjs hello.js
第六种办法
对于1.5以上的PhantomJS版本,请考虑这一点(幻像网站上的构建说明的逐字副本):
For Ubuntu Linux (tested on a barebone install of Ubuntu 10.04 Lucid Lynx and 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,您可以使用预建版本downloadable from the PhantomJS site。
如果你手上有一些重要的时间,你也可以使用build it yourself。 (这正是Nikhil回答的程序)。
PhantomJS上的人建议使用二进制文件来节省时间:
Warning: Compiling PhantomJS from source takes a long time, mainly due to thousands of files in the WebKit module. With 4 parallel compile jobs on a modern machine, the entire process takes roughly 30 minutes. It is highly recommended to download and install the ready-made binary package if it is available.
使用现代机器,他们的意思是> 我认为8gb内存。我在一个微型AWS实例上尝试过,并在2小时后放弃了。
简而言之:按照他们的说明从PhantomJS站点安装预构建的软件包。
第八种办法
Personaly我更喜欢使用npm
(参见Arnel Bucio answer)
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 .
第九种办法
在我的流浪汉引导:
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