【问题标题】:Error installing memcached gem on Snow Leopard - wrong architecture?在 Snow Leopard 上安装 memcached gem 时出错 - 架构错误?
【发布时间】:2011-03-10 04:14:29
【问题描述】:

我在装有 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

但是,在 rlibmemcached.bundle 上运行 file 会给出正确的拱门?

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。

【问题讨论】:

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


    【解决方案1】:

    我在 Snow Leopard、Ruby 1.9.1 和 memcached gem 上看到了相同的错误消息。我在网上搜索了几个小时以寻求答案。大家提出了这个解决方案,并没有改变错误信息:

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

    我还尝试在 gem 上执行“rake clean”并重新运行 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,这可以解释为什么我的系统不同。

    【讨论】:

      【解决方案2】:

      这是一个较晚的答案,但希望对遇到相同问题的人有用。 (在 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 应用程序运行良好。

      【讨论】:

      • 只是想补充一点,如果您遇到此问题,这也适用于 OS X Lion。先安装libmemcached,再安装gem。
      猜你喜欢
      • 2011-01-05
      • 2012-02-24
      • 1970-01-01
      • 2012-05-20
      • 2011-01-25
      • 2011-07-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多