2010-06-30 91 views
0

我在安裝帶有OS X Snow Leopard(10.6.4)的Mac Pro機器上安裝memcached ruby​​ gem時出現問題。在Snow Leopard上安裝memcached gem時出錯 - 錯誤的架構?

Memcache安裝正常,對於大多數項目我使用memcache-client gem沒有問題,但是這個當前項目我需要使用memcached gem代替。

安裝與env ARCHFLAGS='-arch x86_64' gem install memcached或只是通過正常的gem install memcached既給試圖運行應用程序時同樣的錯誤寶石:

(in /src/mojotech/projectr) 
dlopen(/Users/cpjolicoeur/.rvm/gems/ruby-1.8.7-p174/gems/memcached-0.19.7/lib/rlibmemcached.bundle, 9): no suitable image found. 
Did find: /Users/cpjolicoeur/.rvm/gems/ruby-1.8.7-p174/gems/memcached-0.19.7/lib/rlibmemcached.bundle: mach-o, but wrong architecture - /Users/cpjolicoeur/.rvm/gems/ruby-1.8.7-p174/gems/memcached-0.19.7/lib/rlibmemcached.bundle 

然而,在rlibmemcached.bundle運行file給出正確的弓?

[email protected]~/.rvm/gems/ruby-1.8.7-p174/gems/memcached-0.19.7/lib $ file rlibmemcached.bundle 
rlibmemcached.bundle: Mach-O 64-bit bundle x86_64 

我不知道是什麼問題,還是如何正確安裝memcached寶石我的系統。

回答

2

我在Snow Leopard,Ruby 1.9.1和memcached gem上看到相同的確切錯誤消息。我在網上搜索了幾個小時以獲得答案。每個人都認爲這個解決方案,它並沒有改變錯誤信息:

# Did Not Work 
sudo gem uninstall 
sudo env ARCHFLAGS='-arch x86_64' gem install memcached 

我也想這樣做「耙乾淨」,並重新運行extconf.rb上的寶石。同樣的錯誤。

最後,我瀏覽了memcached gem的每個過去版本,直到找到一個與我的系統一起工作的版本。

# This Worked! 
sudo gem uninstall memcached 
sudo gem install --version 0.17.1 memcached --no-ri --no-rdoc 

版本0.17.1的寶石是唯一適用於我的版本。我是一名iPhone開發人員,因此安裝了最新版本的XCode,這也許可以解釋爲什麼我的系統不同。

1

這是一個遲到的答案,但希望對於遇到同一問題的人有用。 (在Snow Leopard上使用Ruby 1.9.2)。

安裝Perl模塊Pod :: Simple,Pod :: Man,Pod :: Checker(通過cpan是最簡單的)。

下載最新版本從http://download.tangent.org/ libmemcached的(被libmemcached-0.44.tar.gz因爲這個職位的)

執行配置/製作/手動在終端安裝的舞蹈:

tar -xzvf libmemcached-0.44.tar.gz 
cd libmemcached-0.44 
./configure 
make 
sudo make install 

在此之後,sudo gem install memcached工作,和Rails 3應用程序運行良好。

+0

只是想補充說,如果你看到這個問題,這也適用於OS X Lion。首先安裝libmemcached,然後安裝gem。 – Peter 2011-09-29 00:36:46