【问题标题】:Unable to install Jekyll gem since upgrading to Xcode 4.1升级到 Xcode 4.1 后无法安装 Jekyll gem
【发布时间】:2011-08-30 15:41:22
【问题描述】:

我之前已经在 Mac 上成功安装了 Jekyll gem,并使用了 Xcode 3 附带的 gcc 编译器。不幸的是,我无法将它安装在现在具有 Xcode 4.1 的其他 Mac 上。这台 Mac 曾经有 Xcode 3,但我使用命令 sudo /Developer-3.2.5/Library/uninstall-devtools --mode=all 将其卸载。

当尝试sudo gem install jekyll 时,我得到如下所示的编译错误:

构建原生扩展。这可能需要一段时间... 错误:安装 jekyll 时出错: 错误:无法构建 gem 原生扩展。 /usr/local/bin/ruby extconf.rb 创建 Makefile 制作 gcc -I。 -I/usr/local/lib/ruby/1.8/i686-darwin10.3.2 -I/usr/local/lib/ruby/1.8/i686-darwin10.3.2 -I. -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -fno-common -D_XOPEN_SOURCE=1 -fno-common -pipe -fno-common -c porter.c porter.c:31:44:错误:stdlib.h:没有这样的文件或目录 porter.c:32:47:错误:string.h:没有这样的文件或目录 porter.c:在函数“create_stemmer”中: porter.c:85:警告:内置函数“malloc”的隐式声明不兼容 porter.c:在函数“setto”中: porter.c:199:警告:内置函数“memmove”的隐式声明不兼容 制作:*** [porter.o] 错误 1 Gem 文件将继续安装在 /usr/local/lib/ruby/gems/1.8/gems/fast-stemmer-1.0.0 以供检查。 结果记录到 /usr/local/lib/ruby/gems/1.8/gems/fast-stemmer-1.0.0/ext/gem_make.out

这里似乎有一个相当基本的问题!我怎样才能解决这个问题?我正在使用 Ruby 1.8.7 和 RubyGems 1.3.7 1.8.10。

提前致谢。

【问题讨论】:

  • 遇到了同样的问题,更新到 Xcode 5 Developer Preview 有帮助。

标签: ruby gcc rubygems jekyll


【解决方案1】:

现在这很奇怪。我昨晚重新安装了 Xcode 4.1,它解决了问题:我可以编译原生扩展并安装 Jekyll gem。

我能够重新安装 Xcode,因为根据 Mac App Store,它根本没有安装,尽管我一直很开心地使用它!我认为商店必须在 /Applications 文件夹中查找 Install XCode 应用程序的存在,我已将其删除,因为它只是一个安装程序并且占用超过 3GB。

【讨论】:

    【解决方案2】:

    在运行gem install jekyll 之前,请尝试输入export CC=gcc-4.2,如下所示:RVM with Lion 如果这样可以解决您的问题,那是因为 gems 依赖于 GCC 而不是 LLVM,现在 4.1 中默认使用 LLVM。将export CC=gcc-4.2 添加到您的 ~/.bashrc 文件中,无需每次需要编译 gem 时都输入它。

    【讨论】:

    • 谢谢,但这并没有解决问题。
    【解决方案3】:

    RubyGems 1.3.7 已经过时了。我们说的是 1.8.9...我建议你升级它。

    我使用 Lion 没有任何问题,但我不得不承认我没有使用系统 Ruby。我使用 RVM 安装了不同的 1.8.7(和 1.9.2)版本。

    【讨论】:

    • 谢谢。与 RubyGems 保持同步通常是个好建议,我升级到 1.8.10,但它并没有解决这个问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-10
    • 2019-06-17
    • 1970-01-01
    • 2020-12-23
    • 1970-01-01
    • 2015-09-26
    相关资源
    最近更新 更多