问题
Getting the following error when trying to use phantomjs from ruby on Ubuntu:
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 was built locally and added to PATH. How do I make ruby find phantomjs?
回答1:
Instead of building locally, use homebrew on your mac with brew install phantomjs
and all the paths will link after. I had this error myself, and you'll get the links for free and have the ability to update easily.
回答2:
You can also do
$ sudo apt-get install phantomjs
That should automatically add phantomjs to your path, and do everything else necessary for it to run correctly. This worked for me.
回答3:
For Mac Os El Capitan
use following command:
npm install -g phantomjs
Above command only works if you have installed npm
, for installing npm
:
brew install npm
回答4:
add to Gemfile
gem 'phantomjs', :require => 'phantomjs/poltergeist'
or put code below to spec_helper.rb
require 'phantomjs'
Capybara.register_driver :poltergeist do |app|
Capybara::Poltergeist::Driver.new(app, :phantomjs => Phantomjs.path)
end
https://github.com/colszowka/phantomjs-gem
回答5:
Apparently, the solution was to add phantomjs not only to the PATH, but also create links:
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
Adjust the /home/myuser/phantomjs/bin/phantomjs
paths to match the path to phantomjs binary on your machine.
回答6:
Other possible solution is to add executable rights to file:
# 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
And also it is not recommended by poltergeist to use phantomjs
from official Ubuntu repos:
DO NOT use phantomjs from the official Ubuntu repositories, since it doesn't work well with poltergeist.
来源:https://stackoverflow.com/questions/30703886/could-not-find-phantomjs