在Snow Leopard上安装memcached gem时出错 - 错误的架构?

时间:2010-06-30 14:28:11

标签: ruby-on-rails rubygems memcached osx-snow-leopard

我在运行OS X Snow Leopard(10.6.4)的Mac Pro计算机上安装memcached ruby​​ gem时出现问题。

Memcache已安装且工作正常,对于大多数项目,我使用memcache-client gem没有问题,但是这个当前项目我需要使用memcached gem。

使用env ARCHFLAGS='-arch x86_64' gem install memcached或仅通过普通gem install memcached安装gem时,在尝试运行应用程序时会出现同样的错误:

(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

但是,在file上运行rlibmemcached.bundle会得到正确的拱门吗?

cpjolicoeur@~/.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 gem。

2 个答案:

答案 0 :(得分:2)

我在Snow Leopard,Ruby 1.9.1和memcached gem上看到了同样的错误信息。我在网上搜了几个小时才得到答案。每个人都建议使用此解决方案,但不会更改错误消息:

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

我也尝试过'rake clean'并在gem上重新运行extconf.rb。同样的错误。

最后,我浏览了memcached gem的每个过去版本,直到找到一个适用于我的系统的版本。

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

gem的版本0.17.1是唯一适合我的版本。我是一名iPhone开发人员,所以安装了最新版本的XCode,这可以解释为什么我的系统不同。

答案 1 :(得分: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)

在终端中手动配置/ make / install舞蹈:

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

在此之后,sudo gem install memcached工作,并且有问题的Rails 3应用程序运行正常。