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?
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.
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.
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
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
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.
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.