मैं Ubuntu पर PhantomJS को कैसे सेटअप और चला सकता हूं?


163

मैंने PhantomJS की स्थापना की और इसे वीडियो में रिकॉर्ड किया: https://www.dailymotion.com/video/xnizmh_1/webcam

निर्माण निर्देश: http://phantomjs.org/build.html

क्या मेरे सेटअप में कुछ गलत है?

इसे सेट करने के बाद मैंने क्विक स्टार्ट ट्यूटोरियल पढ़ा और इस कोड को लिखने की कोशिश की

phantomjs hello.js 

यह मुझे "कमांड नहीं मिला" त्रुटि देता है। इस समस्या का समाधान किस प्रकार से किया जा सकता है?


क्या है जिसमें फैटोमज का उत्पादन?
एलेक्स

इस उत्तर का प्रयास करें stackoverflow.com/questions/6448459/phantomjs-not-working
एलेक्स

यह मुझे "फैंटमज:" आउटपुट देता है
फुरकान ILGIN

मैंने कोशिश की कि यह मुझे एक ही त्रुटि देता है :(
फुरकान ILGIN

धन्यवाद, मैंने समस्या हल कर दी। समस्या यह है कि मैं अपने कार्यक्रम के लिए सॉफ्टलिंक नहीं है। उर मदद के लिए धन्यवाद :)
FURKAN ILGIN

जवाबों:


360

गाइडोउल के जवाब ने मुझे सही रास्ते पर ला दिया। मुझे / 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 मिलता है

अगर किसी ने जो कुछ किया है उसके साथ कोई समस्या है, तो कृपया मुझे बताएं।


7
अगर आपको उस अंतिम सिम्पल लिंक की आवश्यकता है, क्योंकि आपके पास / PATH में usr / usr / local / bin नहीं है
DrewB

1
यह काम करता है, लेकिन क्या कोई मुझे समझा सकता है कि हमें usr/binलिंक बनाने के बजाय पूरी चीज़ को कॉपी पेस्ट क्यों नहीं करना चाहिए /usr/local?
हाइजेनबर्ग

6
किसी को भी अनुमति से वंचित कर दिया?
उपयोगकर्ता

1
किसी भी निर्देशिका से उपलब्ध होने के लिए, यदि आप अपने $ PATH वैरिएबल में सूचीबद्ध निर्देशिकाओं में से किसी एक को सिम्लिंक जोड़ते हैं, तो यह पर्याप्त है। (रन "इको $ पेट" को देखने के लिए कि वे कौन हैं)।
Juampy NR

5
मैं इस मुद्दे में भाग गया: बिन / प्रेत: साझा पुस्तकालयों को लोड करते समय त्रुटि: libfontconfig.so.1: साझा की गई वस्तु फ़ाइल को नहीं खोल सकता: ऐसी कोई फ़ाइल या निर्देशिका नहीं। मुझे यहां एक फिक्स मिला । कमांड चलाएं:sudo apt-get install libfontconfig
नील हॉफ

110

PhantomJS पर है NPM । आप इसे विश्व स्तर पर स्थापित करने के लिए इस कमांड को चला सकते हैं:

npm install -g phantomjs-prebuilt  

phantomjs -v लौट जाना चाहिए 2.1.1


6
उबंटू पर +1 इस के 1.9.7विपरीत संस्करण देता है 1.4.0
opyate

1
+1 का उपयोग करने के लिए, npmलेकिन मेरा जवाब
फेरी वार्डियांतो

1
अगर आपके प्रॉक्सी द्वारा bitbucket.org अवरुद्ध हैnpm install phantomjs --phantomjs_cdnurl=http://cnpmjs.org/downloads
79E09796

1
उबंटू 14.04 पर, यह अब मुझे देता है 2.1.1
जो मोरिन

Ubuntu 18.04 पर मुझे एक त्रुटि मिलती है, कि मुझे इसे रूट के रूप में चलाना चाहिए। इसके साथ sudoकाम करता है:sudo npm install -g phantomjs-prebuilt
rubo77

58

वेबसाइट से डाउनलोड करें prebuilt पैकेज: 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


आप सीधे कॉपी पेस्ट के बजाय एक लिंक क्यों बनाते हैं?
हाइजेनबर्ग

2
जब आप सम्‍मिलित कर सकते हैं तो आप सीधे कॉपी कॉपी क्‍यों करेंगे? = /
जारेड मार्केल

1
ताज़े उबंटू पर भी कामेच्छा स्थापित करें
रेयान

मैंने अपनी उपयोगकर्ता निर्देशिका में प्रेत स्थापित किए थे। सेलेनियम के साथ काम नहीं किया। मैंने तब /usr/local/shareइन प्रतीकात्मक लिंक को फैंटमज में स्थानांतरित कर दिया । तब इसने काम किया (भले ही फ़ाइल अनुमतियां समान थीं)। क्या कोई इस गैर-लिनक्स-विशेषज्ञ को समझा सकता है कि इससे फर्क क्यों पड़ा?
पीटर

38

पैकेज प्रबंधक से स्थापित करें:

sudo apt-get install phantomjs

2
अफसोस की बात है, यह अब 1.4 स्थापित करता है, जो कि कई पुरानी चीजें हैं जो प्रेत.जे का उपयोग करती हैं बस काम नहीं करेंगी।
जूलियन बर्च

@JulianBirch हां, मुझे लगता है कि अगर आपके पास उबंटू सॉसी समन्दर (13.10) में है, तो आपको 1.9.0 संस्करण इस के अनुसार मिल सकता है [link] launchpad.net/ubuntu/+source/phantomjs , मैं सिर्फ रेयरिंग रिंगटोन (13.04) से स्थापित किया गया और मुझे 1.6.0 संस्करण मिलता है, जैसे यह लिंक में भी कहता है

3
उबंटू 14.04 पर 1.9.0 स्थापित
Ionică Bizău

6
लेकिन मैं इसे स्थापित करने की सलाह देता हूं npm install -g phantomjs
Ionică Bizău

1
बस स्थापित किया गया है। अभी 1.9.0 है।
स्ट्रैबेक

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 को स्थापित करने की आवश्यकता नहीं है। कोड देखें।
www.pp

2
मिशेल सही है, प्रेत के नवीनतम संस्करण का उपयोग किया जाना चाहिए क्योंकि इसमें वर्चुअल डिस्प्ले (Xvfb) की आवश्यकता नहीं है
विजय बोयापति

आंद्रे का जवाब मेरे लिए तेज और आसान था।
fooMonster

12

1.5 से ऊपर के PhantomJS संस्करण के लिए, इस पर विचार करें (प्रेत वेबसाइट पर दिए गए निर्देशों की शब्दशः प्रतिलिपि):

उबंटू लिनक्स के लिए (उबंटू 10.04 ल्यूसिड लिंक्स और उबंटू 11.04 नट्टी नरवाल के एक नंगे स्थापित पर परीक्षण किया गया):

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
मुझे लगता है कि इसे नोट किया जाना चाहिए (जैसा कि यह फैंटम जेएस वेबसाइट पर है) कि स्रोत से भवन बनाने में बहुत लंबा समय (छोटी मशीन पर घंटों) लग सकता है।
7

1
यह भी ध्यान दिया जाना चाहिए कि इस उत्तर ने उस समस्या को हल कर दिया, जो कि प्रीबिल्ट बायनेरिज़ का उपयोग करने में मेरे पास फैंटमज के साथ थी। 2gb ubuntu 10.04 दोहरे कोर आभासी पर संकलित करने में लगभग 1 घंटे का समय लगा।
कीथ जॉन हचिसन

7

उबंटू के लिए आप PhantomJS साइट से डाउनलोड किए जाने वाले प्रीबिल्ट संस्करणों का उपयोग कर सकते हैं ।

यदि आपके पास अपने हाथों पर कुछ गंभीर समय है तो आप इसे स्वयं भी बना सकते हैं । (निखिल के उत्तर से ठीक यही प्रक्रिया है)।

PhantomJS पर लोग समय बचाने के लिए बायनेरिज़ का उपयोग करने की सलाह देते हैं:

चेतावनी: फैंटमजस को स्रोत से संकलित करने में लंबा समय लगता है, इसका मुख्य कारण वेबकीट मॉड्यूल में हजारों फाइलें हैं। एक आधुनिक मशीन पर 4 समानांतर संकलन नौकरियों के साथ, पूरी प्रक्रिया में लगभग 30 मिनट लगते हैं। यह उपलब्ध होने पर तैयार बाइनरी पैकेज को डाउनलोड करने और स्थापित करने के लिए अत्यधिक अनुशंसित है।

एक आधुनिक मशीन के साथ उनका मतलब है> 4 कोर,> 8 जीबी मेम मुझे लगता है। मैंने इसे माइक्रो AWS उदाहरण पर आज़माया और 2 घंटे बाद छोड़ दिया।

संक्षेप में: उनके निर्देशों के अनुसार PhantomJS साइट से प्रीबिल्ट पैकेज स्थापित करें।


4

Personaly मैं उपयोग करना पसंद करता हूं npm( Arnel 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बाद में।
अक्षत

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 पर्यावरण चर में है। यह इस उदाहरण में सिम्लिंक के माध्यम से किया जा सकता है।"
संशोधित करें

आपको परिणामी निष्पादन योग्य ./build.shको एक निर्देशिका से निकालने की भूल नहीं करनी है जो कि PATH पर्यावरण चर में है। यह इस उदाहरण के रूप में सिम्लिंक के माध्यम से किया जा सकता है।
आर्टजोम बी।

इसका उपयोग करते समय अन्य सभी उत्तर भूल जाते हैं build.sh। मैं केवल उस तथ्य को अधिक स्पष्ट करके आपके उत्तर में सुधार करना चाहता था। यदि आप इसे वहाँ नहीं चाहते हैं, तो ठीक है।
आर्टजोम बी।

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

उबंटू के लिए, http://phantomjs.org/download.html से उपयुक्त फ़ाइल डाउनलोड करें । डाउनलोड किए गए फ़ोल्डर में सीडी। फिर:

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

ध्यान रखें कि यह निश्चित रूप से इसे करने का एक तरीका है:

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

अफसोस की बात है, यह 1.6 स्थापित करता है और नवीनतम नहीं, लेकिन यह मेरे उद्देश्यों के लिए काम करता है।


1.9.0-1अब यह संस्करण स्थापित करता है
सीन

1

मुझे पता है कि यह बहुत पुराना है, लेकिन, अभी-अभी किसी को Google से यह सवाल करने पर, आप इसे apt-get install phantomjs लिखकर स्थापित कर सकते हैं


यह
1911 पर

0

या नवीनतम - 32 बिट संस्करण लिनक्स

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

जूलियो नपुरी 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

इसे फैंटमजस वेबसाइट से प्राप्त करें।

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

एक बार डाउनलोड होने के बाद, फैंटमज फोल्डर को / usr / लोकल / शेयर / पर ले जाएँ और एक सिमलिंक बनाएँ:

sudo mv $PHANTOM_JS /usr/local/share
sudo ln -sf /usr/local/share/$PHANTOM_JS/bin/phantomjs /usr/local/bin

अब, आपके सिस्टम पर PhantomJS ठीक से होना चाहिए।

phantomjs --version

0

मुझे यह सरल तरीका मिल गया है - प्रेत निर्भरता + एनपीएम

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

और एन.पी.एम.

[sudo] npm install -g phantomjs

किया हुआ।


0

नमस्ते चलाने के लिए linux.js पर hello.js का पथ जोड़ना न भूलें:

phantomjs YourPathToPhantomjsFolder / उदाहरण / hello.js


0

यदि आप आसानी से phantomjs का उपयोग करना चाहते हैं, तो आप इसे phantomjscloud.com पर उपयोग कर सकते हैं। आप परिणाम केवल http अनुरोध द्वारा प्राप्त कर सकते हैं।


2
यह वही नहीं था जो ओपी ने पूछा था।
सुजल मंडल

आपकी टिप्पणी के लिये धन्यवाद। यह मेरी गलती थी
शिन किम

0

विंडोज के लिए उबंटू पर, मुझे न तो मिला और न apt-getही npmसंस्करणों ने मेरे लिए काम किया। इस टिप्पणी से स्क्रिप्ट पर क्या काम हुआ ।

उपयोग में आसानी के लिए, मैंने पूरी चीज़ को स्क्रिप्ट फ़ाइल में चिपकाया, जिसे install_phantomjs.shनिष्पादन योग्य बनाया ( chmod u+x install_phantomjs.sh), और फिर इसे चलाया ( ./install_phantomjs.sh)


0

यह है कि मैं अपने डॉक कंटेनरों पर / usr / लोकल / बिन में फैंटमज का एक विशिष्ट संस्करण कैसे रखता हूं।

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

0

आप बिना उठे sudoया दौड़ सकते हैं npm। बस डाउनलोड करें , निकालें , और पथ में जोड़ें

यह आसान बैकअप का अतिरिक्त लाभ है अगर आप अपने पूरे घर के फ़ोल्डर का बैकअप लेने की आदत रखते हैं, जिसकी मैं अत्यधिक अनुशंसा करता हूं। यह लिनक्स के किसी भी संस्करण के साथ भी काम करता है।

➤  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"

या एक डॉकरफाइल में

# 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 में प्रेत स्थापित करने और चलाने के लिए सबसे अच्छा समाधान है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.