пʼятниця, 3 грудня 2010 р.

Вирішення проблем з Rack і Sinatra на Ruby 1.9.2

Оновив на веб-сервері Ruby до версії 1.9.2 і додаток на Sinatra валиться при спробі запуску.
Справа в тому, що $LOAD_PATH (він же $:) у Ruby 1.9.2 не містить шлях до поточного каталогу і require не бачить файл /.
Рішень є кілька:
  • замінити require на require_relative
  • прописати повний шлях до файлу
  • додати поточний каталог "./" до $LOAD_PATH
В моєму випадку допомогло прописати повний шлях у файлі config.ru:
require './hello'
run Sinatra::Application
І використання require_relative в hello.rb:
require 'sinatra'
require 'haml'

require_relative 'lib/api'

Немає коментарів: