У меня есть PHP-скрипт, который вызывает Ruby-скрипт (system('ruby /lib/program.rb')
), который требует watir-webdriver. Система, на которой она работает, имеет версию ruby
ruby 2.0.0p648 (2015-12-16 revision 53162) [x86_64-linux]
и когда я проверяю журналы ошибок, у меня есть это сообщение
/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- watir-webdriver (LoadError)
from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from /lib/program.rb:4:in `<main>'
Требование вышеупомянутых рубинов ничего не делает. Как я могу исправить?
Смотрите здесь для вывода, когда я запускаю «вручную», а не через системную функцию PHP:
https://gist.github.com/anonymous/ad7befc4ca188e7b3989d6d023bcf100
require_relative
может решить, требуя пакет. Попробуй это:
require_relative 'watir-webdriver'
Попробуй сделать system('rvm use 2.0')
перед выполнением сценария ruby. Это должно гарантировать, что оболочка использует правильную версию для выполнения Ruby.