2009-11-25 44 views
2

簡單的末日應用:薄(紅寶石)的barfing

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 2009-11-25 17:59:59

+0

這很棘手 - 也許嘗試設置「ARCH = x86」?你可能需要手動安裝它並且破解一些Rakefiles – 2009-11-25 18:26:06

+0

我在.bashrc文件中有這個(我有一個64位系統):'export ARCHFLAGS =' - arch x86_64'',所以有人遇到這個問題可以嘗試' -arch x86' – 2011-07-02 00:24:38