找不到符合要求的可执行文件 /home/ubuntu/.phantomjs/2.1.1/x86_64-linux/bin/phantomjs '>= 1.8.1', '< 3.0'

问题描述 投票:0回答:1
Cliver::Dependency::NotFound:Could not find an executable ["phantomjs"] on your path

我正在使用水豚对我的一些数据进行抓取/处理。我安装了以下 gem

gem 'poltergeist'
gem 'phantomjs', :require => 'phantomjs/poltergeist'
gem 'capybara', '3.36'

我收到错误=>找不到符合要求的可执行文件“/home/ubuntu/.phantomjs/2.1.1/x86_64-linux/bin/phantomjs”

当我运行以下代码时

Capybara.register_driver :poltergeist do |app|
  Capybara::Poltergeist::Driver.new(app, {
    js_errors: false,
    timeout: 120,
    phantomjs: Phantomjs.path,
    phantomjs_options: [
      '--load-images=no',
      '--ignore-ssl-errors=yes',
      '--ssl-protocol=any'
    ]}
   )
 end
 Capybara.default_max_wait_time = 60
 @session = Capybara::Session.new(:poltergeist)
 @session.driver.headers = {"User-Agent" => user_agent}

这就是我安装 phantomjs 的方式

sudo apt-get update
sudo apt-get install build-essential chrpath libssl-dev libxft-dev

安装 PhantomJS 所需的这些包才能正常工作。

sudo apt-get install libfreetype6 libfreetype6-dev
sudo apt-get install libfontconfig1 libfontconfig1-dev

从 PhantomJS 网站获取。

cd ~
export PHANTOM_JS="phantomjs-1.9.8-linux-x86_64"
wget https://bitbucket.org/ariya/phantomjs/downloads/$PHANTOM_JS.tar.bz2
sudo tar xvjf $PHANTOM_JS.tar.bz2

下载后,将 Phantomjs 文件夹移动到 /usr/local/share/ 并创建符号链接:

sudo mv $PHANTOM_JS /usr/local/share
sudo ln -sf /usr/local/share/$PHANTOM_JS/bin/phantomjs /usr/local/bin

现在,您的系统上应该已经正确安装了 PhantomJS。`

phantomjs --版本

还创建了符号链接之类的东西

sudo ln -s /home/ubuntu/.phantomjs/2.1.1/x86_64-linux/bin/phantomjs  /usr/local/bin/
sudo ln -s /home/ubuntu/.phantomjs/2.1.1/x86_64-linux/bin/phantomjs  /usr/bin/
sudo ln -s /home/ubuntu/.phantomjs/2.1.1/x86_64-linux/bin/phantomjs  /usr/local/share/

还授予权限 chmod +x 安装 phantomjs.sh

但对我来说没有任何作用。

amazon-ec2 phantomjs ubuntu-22.04 ruby-on-rails-6.1
1个回答
0
投票

您能否分享有关此错误的更多详细信息。

© www.soinside.com 2019 - 2024. All rights reserved.