Проблемы с Синатрой + Усы в OSX Lion - PullRequest
0 голосов
/ 24 октября 2011

Я пытаюсь начать работать с Синатрой и Усами в OSX Lion. После долгих поисков я не могу решить проблему. Я вполне уверен, что это связано с разрешениями Ruby в OSX, потому что ошибка (ниже) начинается с первой строки примера файла config.ru (требуется 'app'). Проект здесь (https://github.com/defunkt/mustache-sinatra-example)

вот моя ошибка

Boot Error

Something went wrong while loading config.ru

LoadError: no such file to load -- app

/Users/ghostandthemachine/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
/Users/ghostandthemachine/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
config.ru:1:in `block in inner_app'
/Users/ghostandthemachine/.rvm/gems/ruby-1.9.2-p290/gems/rack-1.3.1/lib/rack/builder.rb:51:in `instance_eval'
/Users/ghostandthemachine/.rvm/gems/ruby-1.9.2-p290/gems/rack-1.3.1/lib/rack/builder.rb:51:in `initialize'
config.ru:1:in `new'
config.ru:1:in `inner_app'
/Users/ghostandthemachine/.rvm/gems/ruby-1.9.2-p290/gems/shotgun-0.9/lib/shotgun/loader.rb:112:in `eval'
/Users/ghostandthemachine/.rvm/gems/ruby-1.9.2-p290/gems/shotgun-0.9/lib/shotgun/loader.rb:112:in `inner_app'
/Users/ghostandthemachine/.rvm/gems/ruby-1.9.2-p290/gems/shotgun-0.9/lib/shotgun/loader.rb:102:in `assemble_app'
/Users/ghostandthemachine/.rvm/gems/ruby-1.9.2-p290/gems/shotgun-0.9/lib/shotgun/loader.rb:86:in `proceed_as_child'
/Users/ghostandthemachine/.rvm/gems/ruby-1.9.2-p290/gems/shotgun-0.9/lib/shotgun/loader.rb:31:in `call!'
/Users/ghostandthemachine/.rvm/gems/ruby-1.9.2-p290/gems/shotgun-0.9/lib/shotgun/loader.rb:18:in `call'
/Users/ghostandthemachine/.rvm/gems/ruby-1.9.2-p290/gems/shotgun-0.9/lib/shotgun/favicon.rb:12:in `call'
/Users/ghostandthemachine/.rvm/gems/ruby-1.9.2-p290/gems/rack-1.3.1/lib/rack/builder.rb:134:in `call'
/Users/ghostandthemachine/.rvm/gems/ruby-1.9.2-p290/gems/rack-1.3.1/lib/rack/handler/webrick.rb:59:in `service'
/Users/ghostandthemachine/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/webrick/httpserver.rb:111:in `service'
/Users/ghostandthemachine/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/webrick/httpserver.rb:70:in `run'
/Users/ghostandthemachine/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/webrick/server.rb:183:in `block in start_thread'

любая помощь будет высоко ценится. Заранее спасибо

Ответы [ 2 ]

5 голосов
/ 24 октября 2011

В ruby ​​1.9.2 текущий каталог не ищется require d файлов, поэтому вы должны указать путь

require './app'

Аналогично, в app.rb вам нужно будет изменить

6 require 'views/layout' до require './views/layout'

и

9 :views => 'views', до :views => './views',

1 голос
/ 24 октября 2011

Изменить строку

require 'app'

до

require './app'

Похоже, вы используете Ruby 1.9.2. В этой версии текущий каталог был удален из пути загрузки Ruby, поэтому require 'app' больше не работает, вам нужно указать, что файл находится в текущем каталоге с require './app'. Я предполагаю, что пример проекта был построен с использованием более ранней версии Ruby.

...