Проект работает на одном компьютере, но не на другом - PullRequest
0 голосов
/ 27 октября 2018

Мой проект ruby ​​работает нормально на одном из моих Macbooks, но на другом я получаю эту ошибку:

Traceback (most recent call last):
    13: from bin/audiobook-now:5:in `<main>'
    12: from /Users/TuzsNewMacBook/Development/code/audiobook-now-cli/lib/cli.rb:50:in `run'
    11: from /Users/TuzsNewMacBook/Development/code/audiobook-now-cli/lib/cli.rb:7:in `get_books_from'
    10: from /Users/TuzsNewMacBook/Development/code/audiobook-now-cli/lib/scraper.rb:7:in `scrape_book_list'
     9: from /Users/TuzsNewMacBook/.rvm/gems/ruby-2.5.1/gems/capybara-2.18.0/lib/capybara/session.rb:274:in `visit'
     8: from /Users/TuzsNewMacBook/.rvm/gems/ruby-2.5.1/gems/poltergeist-1.18.1/lib/capybara/poltergeist/driver.rb:100:in `visit'
     7: from /Users/TuzsNewMacBook/.rvm/gems/ruby-2.5.1/gems/poltergeist-1.18.1/lib/capybara/poltergeist/driver.rb:27:in `browser'
     6: from /Users/TuzsNewMacBook/.rvm/gems/ruby-2.5.1/gems/poltergeist-1.18.1/lib/capybara/poltergeist/driver.rb:47:in `client'
     5: from /Users/TuzsNewMacBook/.rvm/gems/ruby-2.5.1/gems/poltergeist-1.18.1/lib/capybara/poltergeist/client.rb:16:in `start'
     4: from /Users/TuzsNewMacBook/.rvm/gems/ruby-2.5.1/gems/poltergeist-1.18.1/lib/capybara/poltergeist/client.rb:16:in `new'
     3: from /Users/TuzsNewMacBook/.rvm/gems/ruby-2.5.1/gems/poltergeist-1.18.1/lib/capybara/poltergeist/client.rb:53:in `initialize'
     2: from /Users/TuzsNewMacBook/.rvm/gems/ruby-2.5.1/gems/cliver-0.3.2/lib/cliver.rb:24:in `detect!'
     1: from /Users/TuzsNewMacBook/.rvm/gems/ruby-2.5.1/gems/cliver-0.3.2/lib/cliver/dependency.rb:116:in `detect!'
/Users/TuzsNewMacBook/.rvm/gems/ruby-2.5.1/gems/cliver-0.3.2/lib/cliver/dependency.rb:143:in `raise_not_found!': Could not find an executable ["phantomjs"] on your path. (Cliver::Dependency::NotFound)

У меня возникали похожие проблемы в разные моменты, и большинство исправлений было в коде (некоторые операторы require зацикливались друг на друге), но программа работает на моем другом Macbook без этих ошибок. Их репозитории синхронизированы, я даже пытался просмотреть код, чтобы убедиться, что они идентичны. Я также использовал bundle list, чтобы сравнить версии драгоценных камней, и они совпадают. Вот гемфайл, если он полезен.

source "https://rubygems.org"

gem 'pry'
gem 'pry-rescue' 
gem 'pry-stack_explorer'
gem 'pry-nav'
gem 'poltergeist'
gem 'nokogiri'
gem 'rspec'
gem 'require_all'

На обоих Macbooks установлена ​​одна и та же версия Mojave, и я не думаю, что есть что-то другое в системах, которые могут вызвать это. Все они должны быть в одной и той же версии гемов, сборщиков и т. Д.

Есть идеи?

1 Ответ

0 голосов
/ 27 октября 2018

Эта строка

/Users/TuzsNewMacBook/.rvm/gems/ruby-2.5.1/gems/cliver-0.3.2/lib/cliver/dependency.rb:143:in `raise_not_found!': Could not find an executable ["phantomjs"] on your path. (Cliver::Dependency::NotFound)

объясняет, почему ваш проект не работает на другом компьютере.

Gem poltergeist - это драйвер PhantomJS для Capybara. Чтобы это работало, вам нужно установить phantomjs (безголовый браузер). Вы можете скачать его с официального сайта PhantomJS:

http://phantomjs.org/download.html

Убедитесь, что вы устанавливаете ту же версию. Для этого выполните эту команду в Терминале 1-го Macbook:

phantomjs -v

, чтобы узнать установленную версию и установить ту же версию на второй Macbook.

...