web-dev-qa-db-fra.com

Impossible de trouver phantomjs

Obtenir l'erreur suivante lorsque vous essayez d'utiliser les Phantomjs de Ruby sur 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 a été construit localement et ajouté à PATH. Comment faire en sorte que Ruby trouve des fantômes?

26
Sergey Evstifeev

Tu peux aussi faire 

$ Sudo apt-get install phantomjs                               

Cela devrait automatiquement ajouter des phantomjs à votre chemin et faire tout le nécessaire pour que cela fonctionne correctement. Cela a fonctionné pour moi.

30
Matthew

Au lieu de construire localement, utilisez homebrew sur votre Mac avec brew install phantomjs et tous les chemins seront liés après. J'ai eu cette erreur moi-même, et vous aurez les liens gratuitement et vous aurez la possibilité de mettre à jour facilement. 

29
pjammer

Pour Mac Os El Capitan, utilisez la commande suivante: 

npm install -g phantomjs

La commande ci-dessus fonctionne uniquement si vous avez installé npm, pour installer npm

 brew install npm
15
Aamir

ajouter à Gemfile

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

ou mettez le code ci-dessous à 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

8
gayavat

Apparemment, la solution consistait à ajouter des phantomjs non seulement au PATH, mais également à créer des liens:

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

Ajustez les chemins /home/myuser/phantomjs/bin/phantomjs pour qu'ils correspondent au chemin binaire phantomjs sur votre machine.

4
Sergey Evstifeev

Une autre solution possible consiste à ajouter des droits exécutables sur le fichier:

# 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

Et aussi, il n’est pas recommandé par poltergeist d’utiliser phantomjs depuis les dépôts officiels Ubuntu:

N'UTILISEZ PAS les phantomjs des dépôts officiels d'Ubuntu, car il ne fonctionne pas bien avec poltergeist.

0
hlcs