我在Ruby 2.0.0-p353和OSX Mavericks上使用Rails 4.0.2,Guard 2.2.4,guard-rspec 4.2.4,rspec-rails 2.14.0,Capybara 2.2.1和Poltergeist 1.5.0。
当我运行bundle exec guard时,我遇到了很多失败的错误消息: 后挂钩发生错误 Errno :: EACCES:权限被拒绝 - / usr / local / Cellar / phantomjs 发生在/Users/gillesmath/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/open3.rb:211:in“spawn”
我检查了/ usr / local / Cellar / phantomjs的许可,并没有注意到任何异常。我可以在没有'sudo'的情况下运行phantomjs。
我的spec_helper文件如下所示: ENV [“RAILS_ENV”] || ='test' 需要File.expand_path(“../../ config / environment”, FILE ) 要求'rspec / rails' 要求'rspec / autorun' 要求“capybara / rspec” 要求'webmock / rspec' 要求'capybara / poltergeist'
Dir [Rails.root.join(“spec / support / * / .rb”)]。每个{| f |要求f}
的ActiveRecord :: Migration.check_pending!如果定义?(ActiveRecord :: Migration)
WebMock.disable_net_connect!(:net_http_connect_on_start => true,:allow_localhost => true)
Capybara.javascript_driver =:poltergeist
我看不出有什么问题,因为对于rails应用程序和/ usr / local / Cellar / phantomjs目录及其内容,所有者:group是相同的。
感谢您的帮助
答案 0 :(得分:4)
该错误使其看起来像是在尝试执行/usr/local/Cellar/phantomjs
目录而不是其中的可执行文件。我认为Poltergeist扫描你的PATH
是第一个叫phantomjs
的东西。 /usr/local/Cellar
中有PATH
吗?
如果是这样,我建议将其删除,因为可执行文件不应该直接出现在那里。
如果你不能,另一个选择是在你的设置代码中为Poltergeist配置phantomjs
的显式路径:https://github.com/jonleighton/poltergeist#customization
看起来有些人已经在opened a pull request with a fix to skip directories宝石中使用了Cliver,所以希望很快就能解决这个问题!