代码之家  ›  专栏  ›  技术社区  ›  cpjolicoeur

在雪豹上安装memcached gem时出错-架构错误?

  •  0
  • cpjolicoeur  · 技术社区  · 14 年前

    我在安装 memcached 我的Mac Pro机器上的Ruby Gem和OS X雪豹(10.6.4)。

    Memcache已安装并运行良好,对于大多数项目,我使用 memcache-client gem没有问题,但是这个当前的项目我需要使用 内存缓存 而不是宝石。

    安装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
    

    但是,运行 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
    

    我不知道是什么问题,也不知道如何正确安装 内存缓存 宝石为我的系统。

    2 回复  |  直到 14 年前
        1
  •  2
  •   Pete D    14 年前

    我在雪豹、Ruby1.9.1和Memcachedgem上看到了同样的错误消息。我搜了几个小时的网找答案。所有人都建议了此解决方案,但没有更改错误消息:

    # 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的最新版本,这可能解释了为什么我的系统不同。

        2
  •  1
  •   shalott    14 年前

    这是一个迟来的答案,但希望对遇到同一个问题的人有用。(雪豹上有红宝石1.9.2。)

    安装Perl模块pod::simple、pod::man、pod::checker(通过CPAN最简单)。

    从下载libmemcached的最新版本 http://download.tangent.org/ (从本帖起是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应用程序运行正常。