当前位置: 首页>>技术教程>>正文


找不到幻影

, ,

问题描述

尝试在Ubuntu上使用ruby中的phantomjs时出现以下错误:

 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。如何让红 gems 找到幻影?

最佳解决思路

而不是在本地构建,使用brew install phantomjs在Mac上使用自制程序,所有路径将在之后链接。我自己有这个错误,你将免费获得链接,并有能力轻松更新。

次佳解决思路

你也可以

$ sudo apt-get install phantomjs                               

这应该会自动将phantomj添加到您的路径中,并执行其正确运行所需的一切。这对我有用。

第三种解决思路

对于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

https://github.com/colszowka/phantomjs-gem

第五种思路

显然,解决方案是不仅将phantomjs添加到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二进制文件的路径。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/6384.html,未经允许,请勿转载。