我在运行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。
答案 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应用程序运行正常。