Ответ 1
Вместо того, чтобы строить локально, используйте homebrew на вашем mac с brew install phantomjs
, и все пути будут связаны после. У меня была эта ошибка сама, и вы получите ссылки бесплатно и сможете легко обновлять.
Получение следующей ошибки при попытке использования phantomjs из ruby на 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 был создан локально и добавлен в PATH. Как сделать ruby find phantomjs?
Вместо того, чтобы строить локально, используйте homebrew на вашем mac с brew install phantomjs
, и все пути будут связаны после. У меня была эта ошибка сама, и вы получите ссылки бесплатно и сможете легко обновлять.
Вы также можете сделать
$ sudo apt-get install phantomjs
Это должно автоматически добавлять phantomjs на ваш путь и делать все остальное, необходимое для правильной работы. Это сработало для меня.
Для Mac Os El Capitan
используйте следующую команду:
npm install -g phantomjs
Выше команда работает, только если вы установили npm
, для установки npm
:
brew install npm
добавить в Gemfile
gem 'phantomjs', :require => 'phantomjs/poltergeist'
или введите код ниже в spec_helper.rb
require 'phantomjs'
Capybara.register_driver :poltergeist do |app|
Capybara::Poltergeist::Driver.new(app, :phantomjs => Phantomjs.path)
end
По-видимому, решение заключалось в том, чтобы добавлять фантомы не только к PATH, но и создавать ссылки:
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
Откорректируйте пути /home/myuser/phantomjs/bin/phantomjs
, чтобы соответствовать пути к двоичному файлу phantomjs на вашем компьютере.
Другим возможным решением является добавление прав на файл в файл:
# 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
И также не рекомендуется poltergeist использовать phantomjs
из официальных репозиториев Ubuntu:
НЕ используйте phantomjs из официальных репозиториев Ubuntu, так как это не работает с полтергейстом.