web-dev-qa-db-ja.com

phantomjsが見つかりませんでした

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に追加されました。 Ruby phantomjsを見つけるにはどうすればよいですか?

29

ローカルでビルドする代わりに、brew install phantomjsおよびすべてのパスは後にリンクします。自分でこのエラーが発生しました。リンクは無料で入手でき、簡単に更新できます。

31
pjammer

あなたもできる

$ Sudo apt-get install phantomjs                               

これにより、自動的にphantomjsがパスに追加され、正しく実行するために必要な他のすべての処理が行われます。これは私のために働いた。

30
Matthew

ために Mac Os El Capitan次のコマンドを使用します。

npm install -g phantomjs

上記のコマンドは、npmをインストールするためにnpmをインストールした場合にのみ機能します。

 brew install npm
16
Aamir

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

9
gayavat

どうやら、ソリューションは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バイナリへのパスと一致します。

4

他の可能な解決策は、実行可能権限をファイルに追加することです:

# 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 では、Ubuntuの公式リポジトリからphantomjsを使用することも推奨されていません。

ポルターガイストではうまく機能しないため、公式のUbuntuリポジトリのphantomjsを使用しないでください。

0
hlcs