Синатра выдает следующую ошибку при установке на сервер - PullRequest
2 голосов
/ 04 декабря 2011

Я пытаюсь установить простой скрипт hello world с использованием rack & sinatra.

Пока у меня все отлично работает на localhost, но когда я пытаюсь загрузить на свой сервер, я получаю следующую ошибку при запуске через ssh:

rackup config.ru

Это действительно просто показывает «ничего». Я должен нажать ^ + C, чтобы прервать. Я пытался

rackup config.ru --debug

Я получаю это:

nil
Exception `LoadError' at /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36 - no such file to load -- sinatra
Exception `LoadError' at /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36 - no such file to load -- Win32API
Exception `LoadError' at /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:62 - no such file to load -- Win32API
Exception `LoadError' at /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36 - no such file to load -- mongrel
Exception `NoMethodError' at /usr/lib/ruby/1.8/rational.rb:78 - undefined method `gcd' for Rational(1, 2):Rational
Exception `LoadError' at /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel/gems.rb:7 - no such file to load -- mongrel_experimental
Exception `Gem::LoadError' at /usr/lib/ruby/site_ruby/1.8/rubygems/dependency.rb:247 - Could not find mongrel_experimental (>= 1.1.5) amongst [actionmailer-3.1.3, actionpack-3.1.3, activemodel-3.1.3, activerecord-3.1.3, activeresource-3.1.3, activesupport-3.1.3, arel-2.2.1, builder-3.0.0, bundler-1.0.21, cgi_multipart_eof_fix-2.5.0, coffee-rails-3.1.1, coffee-script-2.2.0, coffee-script-source-1.1.3, daemons-1.1.0, erubis-2.7.0, eventmachine-0.12.10, execjs-1.2.9, fastthread-1.0.7, gem_plugin-0.2.3, hike-1.2.1, i18n-0.6.0, jquery-rails-1.0.19, json-1.6.3, mail-2.3.0, mime-types-1.17.2, mongrel-1.1.5, multi_json-1.0.4, polyglot-0.3.3, rack-1.3.5, rack-cache-1.1, rack-mount-0.8.3, rack-protection-1.1.4, rack-ssl-1.3.2, rack-test-0.6.1, rails-3.1.3, railties-3.1.3, rake-0.9.2.2, rdoc-3.11, rockhands-0.0.6, rubygems-update-1.8.12, sass-3.1.11, sass-rails-3.1.5, sinatra-1.3.1, sprockets-2.0.3, thin-1.3.1, thor-0.14.6, tilt-1.3.3, treetop-1.4.10, tzinfo-0.3.31]
#<Rack::ContentLength:0x2b1ed5eebe88
 @app=
  #<Rack::Chunked:0x2b1ed5eebed8
   @app=
    #<Rack::CommonLogger:0x2b1ed5eec130
     @app=
      #<Rack::ShowExceptions:0x2b1ed490bd70
       @app=
        #<Rack::Lint:0x2b1ed490bdc0
         @app=Sinatra::Application,
         @content_length=nil>,
       @template=
        #<ERB:0x2b1ed490bd20
         @filename=nil,
         @safe_level=nil,
         @src=ALL MY HTML IS HERE

Если это поможет:

* МЕСТНЫЕ ДРАГОЦЕННЫЕ КАМНИ *

actionmailer (3.1.3)
actionpack (3.1.3)
activemodel (3.1.3)
activerecord (3.1.3)
activeresource (3.1.3)
activesupport (3.1.3)
arel (2.2.1)
builder (3.0.0)
bundler (1.0.21)
cgi_multipart_eof_fix (2.5.0)
coffee-rails (3.1.1)
coffee-script (2.2.0)
coffee-script-source (1.1.3)
daemons (1.1.0)
erubis (2.7.0)
eventmachine (0.12.10)
execjs (1.2.9)
fastthread (1.0.7)
gem_plugin (0.2.3)
hike (1.2.1)
i18n (0.6.0)
jquery-rails (1.0.19)
json (1.6.3)
mail (2.3.0)
mime-types (1.17.2)
mongrel (1.1.5)
multi_json (1.0.4)
polyglot (0.3.3)
rack (1.3.5)
rack-cache (1.1)
rack-mount (0.8.3)
rack-protection (1.1.4)
rack-ssl (1.3.2)
rack-test (0.6.1)
rails (3.1.3)
railties (3.1.3)
rake (0.9.2.2)
rdoc (3.11)
rockhands (0.0.6)
rubygems-update (1.8.12)
sass (3.1.11)
sass-rails (3.1.5)
sinatra (1.3.1)
sprockets (2.0.3)
thin (1.3.1)
thor (0.14.6)
tilt (1.3.3)
treetop (1.4.10)
tzinfo (0.3.31)

и

ruby 1.8.7 (2009-06-08 patchlevel 173) [x86_64-linux]

Ответы [ 2 ]

0 голосов
/ 04 декабря 2011

Разве mongrel_experimental не является отдельным драгоценным камнем?Ваша трассировка стека ссылается на нее в строках 7 и 8, но она не указана в ваших местных жемчужинах.Попробуйте gem install mongrel_experimental.

0 голосов
/ 04 декабря 2011

Вы уверены, что приложение не работает?Для меня rackup также по умолчанию тихий, но приложение отлично работает на порту 9292.

Только что протестировано локально с самым простым из когда-либо Rack-приложений:

# config.ru

run lambda { |env|
  [
    200, 
    { 'Content-Type'  => 'text/plain' },
    "Hello World"
  ]
}

Oh и добавлением --debug также отображает те же исключения, что и у вас, но приложение работает нормально.

Я считаю, что ваше приложение действительно работает, но вы не можете получить к нему доступ по некоторым причинам.Возможно, порт 9292. недоступен удаленно.

Попробуйте telnet localhost 9292 на удаленном компьютере, чтобы убедиться, что приложение работает.Вы должны увидеть:

~$ telnet localhost 9292
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
...