Could not find phantomjs

2020-03-01 02:38发布

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?

6条回答
We Are One
2楼-- · 2020-03-01 03:08

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.

查看更多
我只想做你的唯一
3楼-- · 2020-03-01 03:19

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

查看更多
Animai°情兽
4楼-- · 2020-03-01 03:27

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.

查看更多
走好不送
5楼-- · 2020-03-01 03:32

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
查看更多
可以哭但决不认输i
6楼-- · 2020-03-01 03:35

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.

查看更多
欢心
7楼-- · 2020-03-01 03:35

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.

查看更多
登录 后发表回答