2009-11-25 2 views
2

Простой Синатра приложение:Thin (рубин) ненадежен

require 'rubygems' 
require 'sinatra' 

get '/' do 
    "Hey" 
end 

Тогда:

$ ruby test.rb 

И когда я ударил http://localhost:4567, он разрывает соединение и я получаю:

/usr/local/lib/ruby/gems/1.8/gems/thin-1.2.5/lib/thin_parser.bundle: dlopen(/usr/local/lib/ruby/gems/1.8/gems/thin-1.2.5/lib/thin_parser.bundle, 9): no suitable image found. Did find: (LoadError) 
/usr/local/lib/ruby/gems/1.8/gems/thin-1.2.5/lib/thin_parser.bundle: unknown required load command 0x80000022 - /usr/local/lib/ruby/gems/1.8/gems/thin-1.2.5/lib/thin_parser.bundle 

Все драгоценные камни актуальны. Я запускаю ruby ​​1.8.7 (2008-08-11 patchlevel 72) [i686-darwin9.6.0]

ответ

1

Я подозреваю, что Thin скомпилирован как 32-битный модуль, и вы используете x86_64 Ruby (или другой путь вокруг)

+0

ах, это имело бы смысл. используя 'gem install', как бы это исправить? – Kyle

+0

Это сложнее - возможно, попробуйте установить «ARCH = x86»? Возможно, вам придется установить его вручную и взломать некоторые Rakefiles –

+0

У меня есть это в моем файле .bashrc (у меня 64-разрядная система): 'export ARCHFLAGS = '- arch x86_64'', поэтому кто-то, работающий в этой проблеме, может попробовать' -arch x86' вместо –