2015-06-08 10 views
23

gibt es die folgenden Fehler finden, wenn sie versuchen PhantomJS von Ruby auf Ubuntu zu verwenden:konnte nicht PhantomJS

Failure/Error: visit root_path 
Cliver::Dependency::NotFound: 
    Could not find an executable ["phantomjs"] on your path. 
# ./spec/features/search_spec.rb:17:in `block (2 levels) in <top (required)>' 
# ./spec/support/vcr.rb:23:in `block (3 levels) in <top (required)>' 
# ./spec/support/vcr.rb:23:in `block (2 levels) in <top (required)>' 

PhantomJS wurde vor Ort gebaut und in PATH. Wie kann ich Ruby phantomjs finden?

Antwort

3

Offenbar war die Lösung PhantomJS hinzufügen nicht nur auf die PATH, sondern auch Links erstellen:

sudo ln -s /home/myuser/phantomjs/bin/phantomjs /usr/bin/phantomjs 
sudo ln -s /home/myuser/phantomjs/bin/phantomjs /usr/local/bin/phantomjs 
sudo ln -s /home/myuser/phantomjs/bin/phantomjs /usr/local/share/phantomjs 

die /home/myuser/phantomjs/bin/phantomjs Pfade Passen Sie den Pfad passen auf Ihrem Rechner binär PhantomJS.

27

können Sie tun auch

$ sudo apt-get install phantomjs        

automatisch PhantomJS zu Ihrem Pfad hinzufügen sollte, und notwendig alles andere tun es korrekt zu funktionieren. Das hat für mich funktioniert.

+0

Das Problem war für mich, dass apt-get installiert eine ältere Version (1.9.0), während ich 2.0.0 –

+1

'E benötigt: Kann Paket phantomjs' –

+0

dank lokalisieren. Das hat für mich funktioniert. :) –

27

Anstatt lokal zu bauen, verwenden Sie Homebrew auf Ihrem Mac mit brew install phantomjs und alle Wege werden nach. Ich hatte diesen Fehler selbst, und Sie erhalten die Links kostenlos und haben die Möglichkeit, leicht zu aktualisieren.

+0

Wie in der Frage gesagt, ist dies in Bezug auf Phantomjs auf Ubuntu, nicht Mac. –

+3

Wie Google bewiesen hat, ist dies das beste Ergebnis für alles, was mit Phantomjs und diesem Fehler zu tun hat. 3 upvotes beweisen auch, dass Sie die Frage beheben sollten, da es nicht OS-spezifisch ist. – pjammer

8

Add

gem 'phantomjs', :require => 'phantomjs/poltergeist' 

oder setzen Code Gemfile unter

require 'phantomjs' 
Capybara.register_driver :poltergeist do |app| 
    Capybara::Poltergeist::Driver.new(app, :phantomjs => Phantomjs.path) 
end 

https://github.com/colszowka/phantomjs-gem

11

Für Mac Os El Capitan Verwendung folgenden Befehl spec_helper.rb:

npm install -g phantomjs 

Obiger Befehl funktioniert nur, wenn Sie npm installiert haben, für die Installation von npm:

brew install npm 
0

Andere mögliche Lösung ist, ausführbare Rechte hinzufügen Datei:

# download phantomjs 
$ curl --output /home/user/.rvm/bin/phantomjs https://s3.amazonaws.com/circle-downloads/phantomjs-2.1.1 
# set rights 
$ chmod +x /home/user/.rvm/bin/phantomjs 
# check 
$ which phantomjs 
/home/user/.rvm/bin/phantomjs 

Und auch ist es nicht von poltergeist empfohlen zu verwenden phantomjs von offiziellen Ubuntu Repos:

Verwenden Sie Phantomjs NICHT von den offiziellen Ubuntu Repositori es, da es nicht gut mit Poltergeist funktioniert.