Ruby使用rbenv在OSX Lion上失败

前端之家收集整理的这篇文章主要介绍了Ruby使用rbenv在OSX Lion上失败前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我一直在尝试在我的Lion机器上安装 Ruby(OSX 10.7.3).

我安装了rbenv和ruby-build,我试图在我的机器上获得1.9.2-p290.以下是安装失败的输出

$rbenv install 1.9.2-p290
Downloading http://pyyaml.org/download/libyaml/yaml-0.1.4.tar.gz...
Installing yaml-0.1.4...
Installed yaml-0.1.4 to /Users/CSC/.rbenv/versions/1.9.2-p290
Downloading http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.2-p290.tar.gz...
Installing ruby-1.9.2-p290...

BUILD Failed

Inspect or clean up the working tree at /var/folders/vm/gcqcld015jx025m7qgtxvw0m0000gn/T/ruby-build.20120301140751.6239
Results logged to /var/folders/vm/gcqcld015jx025m7qgtxvw0m0000gn/T/ruby-build.20120301140751.6239.log

Last 10 log lines:
/usr/bin/gcc-4.2 -I. -I../../../.ext/include/x86_64-darwin11.3.0 -I../../.././include -I../../.././ext/racc/cparse -DRUBY_EXTCONF_H=\"extconf.h\" -I'/Users/SamCouch/.rbenv/versions/1.9.2-p290/include'  -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE   -fno-common -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long  -pipe  -o cparse.o -c cparse.c
/usr/bin/gcc-4.2 -dynamic -bundle -o ../../../.ext/x86_64-darwin11.3.0/racc/cparse.bundle cparse.o -L. -L../../.. -L. -L'/Users/SamCouch/.rbenv/versions/1.9.2-p290/lib'  -L/usr/local/lib -Wl,-undefined,dynamic_lookup -Wl,-multiply_defined,suppress -Wl,-flat_namespace  -lpthread -ldl -lobjc 
compiling readline
/usr/bin/gcc-4.2 -I. -I../../.ext/include/x86_64-darwin11.3.0 -I../.././include -I../.././ext/readline -DRUBY_EXTCONF_H=\"extconf.h\" -I'/Users/SamCouch/.rbenv/versions/1.9.2-p290/include'  -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE   -fno-common -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long  -pipe  -o readline.o -c readline.c
readline.c: In function ‘username_completion_proc_call’:
readline.c:1386: error: ‘username_completion_function’ undeclared (first use in this function)
readline.c:1386: error: (Each undeclared identifier is reported only once
readline.c:1386: error: for each function it appears in.)
make[1]: *** [readline.o] Error 1
make: *** [mkmain.sh] Error 1

我试图解决这个问题,但到目前为止我还没有提出任何解决方案:

$which gcc
/usr/bin/gcc
$gcc
i686-apple-darwin11-llvm-gcc-4.2: no input files
$ruby-build
ruby-build 20120216
usage: ruby-build [-v|--verbose] definition prefix
       ruby-build --definitions

任何帮助将不胜感激!

作为旁注,我已尝试在此处发布其他类似的建议,但没有一个对我有用.

解决方法

根据ruby-build issue #130,当前的解决方法是:

env CC = /usr/bin/gcc rbenv install 1.9.3-p125

我刚刚在一个系统上测试过这个:

> OS X 10.7.3
> Xcode 4.3.1
>安装Xcode命令行工具(通过Xcode>首选项>下载)
> ruby​​-build @ fbfa944
> rbenv @ 975b45d

此外,挂起请求#137旨在一劳永逸地解决这个问题.

自从FWIW问世以来,很多人都在试图解决Xcode 4.3.x的构建链问题.如果你升级到新的工具链,直到集体尘埃落定,任何系统都会出现一些不稳定因素.

猜你在找的Ruby相关文章