Không thể cài đặt Ruby theo Lion với các vấn đề RVM - GCC


268

Hầu hết các câu hỏi liên quan đến vấn đề này là do thiếu Xcode; Tôi đã cài đặt Xcode 4.2.

Cài đặt thử:

rvm install 1.9.3
Installing Ruby from source to: /Users/jamie/.rvm/rubies/ruby-1.9.3-p0, this may take a while depending on your cpu(s)...

ruby-1.9.3-p0 - #fetching 
ruby-1.9.3-p0 - #extracted to /Users/jamie/.rvm/src/ruby-1.9.3-p0 (already extracted)
Fetching yaml-0.1.4.tar.gz to /Users/jamie/.rvm/archives
Extracting yaml-0.1.4.tar.gz to /Users/jamie/.rvm/src
Configuring yaml in /Users/jamie/.rvm/src/yaml-0.1.4.
Compiling yaml in /Users/jamie/.rvm/src/yaml-0.1.4.
Installing yaml to /Users/jamie/.rvm/usr
ruby-1.9.3-p0 - #configuring 
ERROR: Error running ' ./configure --prefix=/Users/jamie/.rvm/rubies/ruby-1.9.3-p0 --enable-shared --disable-install-doc --with-libyaml-dir=/Users/jamie/.rvm/usr ', please read /Users/jamie/.rvm/log/ruby-1.9.3-p0/configure.log
ERROR: There has been an error while running configure. Halting the installation.

configure.log:

[2011-11-07 04:32:17]  ./configure --prefix=/Users/jamie/.rvm/rubies/ruby-1.9.3-p0 --enable-shared --disable-install-doc --with-libyaml-dir=/Users/jamie/.rvm/usr 
configure: WARNING: unrecognized options: --with-libyaml-dir
checking build system type... x86_64-apple-darwin11.2.0
checking host system type... x86_64-apple-darwin11.2.0
checking target system type... x86_64-apple-darwin11.2.0
checking whether the C compiler works... no
configure: error: in `/Users/jamie/.rvm/src/ruby-1.9.3-p0':
configure: error: C compiler cannot create executables
See `config.log' for more details

GCC có sẵn:

gcc -v
Using built-in specs.
Target: i686-apple-darwin11
Configured with: /private/var/tmp/llvmgcc42/llvmgcc42-2336.1~1/src/configure --disable-checking --enable-werror --prefix=/Developer/usr/llvm-gcc-4.2 --mandir=/share/man --enable-languages=c,objc,c++,obj-c++ --program-prefix=llvm- --program-transform-name=/^[cg][^.-]*$/s/$/-4.2/ --with-slibdir=/usr/lib --build=i686-apple-darwin11 --enable-llvm=/private/var/tmp/llvmgcc42/llvmgcc42-2336.1~1/dst-llvmCore/Developer/usr/local --program-prefix=i686-apple-darwin11- --host=x86_64-apple-darwin11 --target=i686-apple-darwin11 --with-gxx-include-dir=/usr/include/c++/4.2.1
Thread model: posix
gcc version 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.1.00)

ls /usr/bin | grep gcc         
gcc
i686-apple-darwin11-llvm-gcc-4.2
llvm-gcc
llvm-gcc-4.2

Dựa trên config.log (được đăng ở dưới cùng do kích thước) Tôi đã thử symlinking gcc-4.2 đến gcc và sau đó cài đặt:

rvm install 1.9.3                       
ERROR: The autodetected CC(/usr/bin/gcc-4.2) is LLVM based, it is not yet fully supported by ruby and gems, please read `rvm requirements`, and set CC=/path/to/gcc .

Vì vậy, tôi có thể chỉ cần lấy gcc ở nơi khác, nhưng tôi chủ yếu quan tâm đến lý do tại sao điều này xảy ra. Không nên cài đặt Xcode là đủ?

config.log:

This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

It was created by configure, which was
generated by GNU Autoconf 2.68.  Invocation command line was

  $ ./configure --prefix=/Users/jamie/.rvm/rubies/ruby-1.9.3-p0 --enable-shared --disable-install-doc --with-libyaml-dir=/Users/jamie/.rvm/usr

## --------- ##
## Platform. ##
## --------- ##

hostname = Wilson.local
uname -m = x86_64
uname -r = 11.2.0
uname -s = Darwin
uname -v = Darwin Kernel Version 11.2.0: Tue Aug  9 20:54:00 PDT 2011; root:xnu-1699.24.8~1/RELEASE_X86_64

/usr/bin/uname -p = i386
/bin/uname -X     = unknown

/bin/arch              = unknown
/usr/bin/arch -k       = unknown
/usr/convex/getsysinfo = unknown
/usr/bin/hostinfo      = Mach kernel version:
     Darwin Kernel Version 11.2.0: Tue Aug  9 20:54:00 PDT 2011; root:xnu-1699.24.8~1/RELEASE_X86_64
Kernel configured for up to 4 processors.
4 processors are physically available.
4 processors are logically available.
Processor type: i486 (Intel 80486)
Processors active: 0 1 2 3
Primary memory available: 8.00 gigabytes
Default processor set: 110 tasks, 546 threads, 4 processors
Load average: 1.28, Mach factor: 2.71
/bin/machine           = unknown
/usr/bin/oslevel       = unknown
/bin/universe          = unknown

PATH: /Users/jamie/.rvm/usr/bin
PATH: /usr/bin
PATH: /bin
PATH: /usr/sbin
PATH: /sbin
PATH: /usr/local/bin
PATH: /usr/X11/bin
PATH: /Users/jamie/bin
PATH: /Users/jamie/.rvm/bin
PATH: /Users/jamie/.rvm/bin


## ----------- ##
## Core tests. ##
## ----------- ##

configure:2764: checking build system type
configure:2778: result: x86_64-apple-darwin11.2.0
configure:2849: checking host system type
configure:2862: result: x86_64-apple-darwin11.2.0
configure:2882: checking target system type
configure:2895: result: x86_64-apple-darwin11.2.0
configure:3376: checking for C compiler version
configure:3385: gcc-4.2 --version >&5
./configure: line 3387: gcc-4.2: command not found
configure:3396: $? = 127
configure:3385: gcc-4.2 -v >&5
./configure: line 3387: gcc-4.2: command not found
configure:3396: $? = 127
configure:3385: gcc-4.2 -V >&5
./configure: line 3387: gcc-4.2: command not found
configure:3396: $? = 127
configure:3385: gcc-4.2 -qversion >&5
./configure: line 3387: gcc-4.2: command not found
configure:3396: $? = 127
configure:3416: checking whether the C compiler works
configure:3438: gcc-4.2    conftest.c  >&5
./configure: line 3440: gcc-4.2: command not found
configure:3442: $? = 127
configure:3480: result: no
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE_URL ""
| #define CANONICALIZATION_FOR_MATHN 1
| /* end confdefs.h.  */
| 
| int
| main ()
| {
| 
|   ;
|   return 0;
| }
configure:3485: error: in `/Users/jamie/.rvm/src/ruby-1.9.3-p0':
configure:3487: error: C compiler cannot create executables
See `config.log' for more details

## ---------------- ##
## Cache variables. ##
## ---------------- ##

ac_cv_build=x86_64-apple-darwin11.2.0
ac_cv_env_CCC_set=
ac_cv_env_CCC_value=
ac_cv_env_CC_set=
ac_cv_env_CC_value=
ac_cv_env_CFLAGS_set=
ac_cv_env_CFLAGS_value=
ac_cv_env_CPPFLAGS_set=
ac_cv_env_CPPFLAGS_value=
ac_cv_env_CPP_set=
ac_cv_env_CPP_value=
ac_cv_env_CXXFLAGS_set=
ac_cv_env_CXXFLAGS_value=
ac_cv_env_CXX_set=
ac_cv_env_CXX_value=
ac_cv_env_LDFLAGS_set=
ac_cv_env_LDFLAGS_value=
ac_cv_env_LIBS_set=
ac_cv_env_LIBS_value=
ac_cv_env_build_alias_set=
ac_cv_env_build_alias_value=
ac_cv_env_host_alias_set=
ac_cv_env_host_alias_value=
ac_cv_env_target_alias_set=
ac_cv_env_target_alias_value=
ac_cv_host=x86_64-apple-darwin11.2.0
ac_cv_prog_CC=gcc-4.2
ac_cv_target=x86_64-apple-darwin11.2.0

## ----------------- ##
## Output variables. ##
## ----------------- ##

ALLOCA=''
AR=''
ARCHFILE=''
ARCH_FLAG=''
AS=''
ASFLAGS=''
BASERUBY='ruby'
BUILTIN_ENCOBJS=''
BUILTIN_TRANSOBJS=''
BUILTIN_TRANSSRCS=''
CAPITARGET=''
CC='gcc-4.2'
CCDLFLAGS=''
CFLAGS=''
CHDIR=''
COMMON_HEADERS=''
COMMON_LIBS=''
COMMON_MACROS=''
COUTFLAG=''
CP=''
CPP=''
CPPFLAGS=''
CPPOUTFILE=''
CXX='g++-4.2'
CXXFLAGS=''
DEFS=''
DLDFLAGS=''
DLDLIBS=''
DLEXT2=''
DLEXT=''
DLLWRAP=''
DOT=''
DOXYGEN=''
ECHO_C='\c'
ECHO_N=''
ECHO_T=''
EGREP=''
ENABLE_SHARED=''
EXECUTABLE_EXTS=''
EXEEXT=''
EXPORT_PREFIX=''
EXTOUT=''
EXTSTATIC=''
GCC=''
GNU_LD=''
GREP=''
INSTALLDOC=''
INSTALL_DATA=''
INSTALL_PROGRAM=''
INSTALL_SCRIPT=''
LDFLAGS=''
LDSHARED=''
LDSHAREDXX=''
LIBEXT=''
LIBOBJS=''
LIBPATHENV=''
LIBPATHFLAG=''
LIBRUBY=''
LIBRUBYARG=''
LIBRUBYARG_SHARED=''
LIBRUBYARG_STATIC=''
LIBRUBY_A=''
LIBRUBY_ALIASES=''
LIBRUBY_DLDFLAGS=''
LIBRUBY_LDSHARED=''
LIBRUBY_RELATIVE=''
LIBRUBY_SO=''
LIBS=''
LINK_SO=''
LN_S=''
LTLIBOBJS=''
MAINLIBS=''
MAJOR='1'
MAKEDIRS=''
MAKEFILES=''
MANTYPE=''
MINIOBJS=''
MINIRUBY=''
MINOR='9'
MKDIR_P=''
NM=''
NROFF=''
NULLCMD=''
OBJCOPY=''
OBJDUMP=''
OBJEXT=''
OUTFLAG=''
PACKAGE=''
PACKAGE_BUGREPORT=''
PACKAGE_NAME=''
PACKAGE_STRING=''
PACKAGE_TARNAME=''
PACKAGE_URL=''
PACKAGE_VERSION=''
PATH_SEPARATOR=':'
PKG_CONFIG=''
PREP=''
RANLIB=''
RDOCTARGET=''
RI_BASE_NAME=''
RM=''
RMALL=''
RMDIR=''
RMDIRS=''
RPATHFLAG=''
RUBYW_BASE_NAME='rubyw'
RUBYW_INSTALL_NAME=''
RUBY_BASE_NAME='ruby'
RUBY_INSTALL_NAME=''
RUBY_PROGRAM_VERSION='1.9.3'
RUBY_RELEASE_DATE='2011-10-30'
RUBY_SO_NAME=''
RUNRUBY=''
SET_MAKE=''
SHELL='/bin/sh'
SOLIBS=''
STATIC=''
STRIP=''
SYMBOL_PREFIX=''
TEENY='1'
TEST_RUNNABLE=''
THREAD_MODEL=''
TRY_LINK=''
UNIVERSAL_ARCHNAMES=''
UNIVERSAL_INTS=''
USE_RUBYGEMS=''
WERRORFLAG=''
WINDRES=''
XCFLAGS=''
XLDFLAGS=''
XRUBY=''
XRUBY_LIBDIR=''
XRUBY_RUBYHDRDIR=''
XRUBY_RUBYLIBDIR=''
ac_ct_CC=''
ac_ct_CXX=''
ac_ct_OBJCOPY=''
ac_ct_OBJDUMP=''
arch=''
bindir='${exec_prefix}/bin'
build='x86_64-apple-darwin11.2.0'
build_alias=''
build_cpu='x86_64'
build_os='darwin11.2.0'
build_vendor='apple'
cflags=' ${optflags} ${debugflags} ${warnflags}'
configure_args=''
cppflags=''
cxxflags=' ${optflags} ${debugflags} ${warnflags}'
datadir='${datarootdir}'
datarootdir='${prefix}/share'
debugflags=''
docdir='${datarootdir}/doc/${PACKAGE}'
dvidir='${docdir}'
exec=''
exec_prefix='NONE'
host='x86_64-apple-darwin11.2.0'
host_alias=''
host_cpu='x86_64'
host_os='darwin11.2.0'
host_vendor='apple'
htmldir='${docdir}'
includedir='${prefix}/include'
infodir='${datarootdir}/info'
libdir='${exec_prefix}/lib'
libexecdir='${exec_prefix}/libexec'
localedir='${datarootdir}/locale'
localstatedir='${prefix}/var'
mandir='${datarootdir}/man'
oldincludedir='/usr/include'
optflags=''
pdfdir='${docdir}'
prefix='/Users/jamie/.rvm/rubies/ruby-1.9.3-p0'
program_transform_name='s&^&&'
psdir='${docdir}'
ridir=''
ruby_pc=''
ruby_version=''
rubyhdrdir=''
rubylibprefix=''
rubyw_install_name=''
sbindir='${exec_prefix}/sbin'
setup=''
sharedstatedir='${prefix}/com'
sitearch=''
sitedir=''
sitehdrdir=''
sysconfdir='${prefix}/etc'
target='x86_64-apple-darwin11.2.0'
target_alias=''
target_cpu='x86_64'
target_os='darwin11.2.0'
target_vendor='apple'
try_header=''
vendordir=''
vendorhdrdir=''
warnflags=''

## ----------- ##
## confdefs.h. ##
## ----------- ##

/* confdefs.h */
#define PACKAGE_NAME ""
#define PACKAGE_TARNAME ""
#define PACKAGE_VERSION ""
#define PACKAGE_STRING ""
#define PACKAGE_BUGREPORT ""
#define PACKAGE_URL ""
#define CANONICALIZATION_FOR_MATHN 1

configure: exit 77

Bạn đã thử cài đặt CC=/usr/bin/gccchưa?
mu quá ngắn

Bất cứ điều gì thú vị trong config.logtập tin?
mu quá ngắn

Hừm; Tôi có cùng một gcc, và nó đã cài đặt tốt :( Điều thứ hai trên SO hoạt động tốt với tôi nhưng không phải cho người khác, thường thì ngược lại.
Dave Newton

mu: Tôi đã thêm toàn bộ config.log ngay bây giờ. Không có gì bất thường đối với mắt tôi. Đây là phiên bản không có symlink. Dave: Vâng, đó là máy tính :-).
Jamie Schembri

Câu trả lời:


553

Câu trả lời này đã được chỉnh sửa nhiều lần và hiện có một số giải pháp thay thế . Trước tiên, hãy thử giải pháp đơn giản Chỉnh sửa 3 Chỉnh sửa.

Ruby 1.9.3-p125 trở lên có hỗ trợ chính thức cho tiếng kêu , vì vậy nếu bạn đang cài đặt phiên bản như vậy, bạn không cần GCC. Nếu bạn đang cài đặt phiên bản cũ hơn của Ruby, hãy đọc tiếp.

Để biên dịch Ruby với GCC, bạn cần một phiên bản GCC không phải LLVM, không còn có trong XCode 4.2. Tự cài đặt nó (hoặc hạ cấp xuống XCode 4.1 tạm thời), sau đó thực hiện CC=/usr/local/bin/gcc-4.2 rvm install 1.9.3 --enable-shared(thay thế đường dẫn đến gcc không phải LLVM của bạn).

Chỉnh sửa: https://github.com/kennethreitz/osx-gcc-installer/doads có thể giúp cài đặt GCC. Ngoài ra còn có một số thông tin có sẵn bằng cách chạy rvm requirements.

Chỉnh sửa 2: Để có giải pháp dễ dàng hơn, bạn có thể thử thêm --with-gcc=clangvào các đối số để configureRuby sử dụng tiếng kêu thay vì GCC.

Chỉnh sửa 3 : rvm install 1.9.3 --with-gcc=clanglàm điều đó cho bạn.

Lưu ý: Với các phiên bản XCode hiện tại, bạn cần cài đặt các công cụ dòng lệnh riêng biệt với menu XCode -> Tùy chọn -> Tải xuống -> Thành phần. Đây là điều kiện tiên quyết để thực hiện bất kỳ biên dịch nào với XCode trên dòng lệnh, không chỉ riêng Ruby.

Lưu ý 2: Nếu một cái gì đó không hoạt động sau khi làm theo các bước, hãy thử thực hiện khởi động lại hoặc đăng nhập lại để đảm bảo rằng môi trường được đặt chính xác.

Lưu ý 3: Các phiên bản Ruby trước 1.9.3-p125 có thể không phải lúc nào cũng tương thích hoàn toàn với tiếng kêu, vì vậy hãy kiểm tra kỹ phần mềm của bạn nếu sử dụng giải pháp Chỉnh sửa 3 3 trong môi trường sản xuất.


3
GCC-10.7.pkg không làm điều đó cho tôi - Tôi nghĩ rằng nó chỉ có thể hoạt động vào ngày 10.7.0 (Tôi đang chạy 10.7.2), nhưng có lẽ v2 pkg hoạt động. Dù sao, --with-gcc = clang đã làm điều đó cho tôi! Cảm ơn!
Jamie Schembri

2
Cảm ơn, Chỉnh sửa 3 đã sửa nó cho tôi quá.
tiếng vang

1
edit3 didn'work for me (Xcode 4.2.1), nhưng sau khi cài đặt readline rvm pkg install readlinevà chuyển một tham số phụ, rvm install 1.9.3 --with-gcc=clang --with-readline-dir=$rvm_path/usrnó đã cài đặt thành công.
leandro

7
Như đã lưu ý trong câu trả lời này , có một sự thay thế khác. rvm install 1.9.3 --with-gcc=clanglàm việc cho tôi, nhưng nó không được hỗ trợ đầy đủ. Bạn cũng có thể sử dụng CC=/usr/bin/gcc-4.2 rvm install 1.9.3 --enable-shared, có vẻ như được hỗ trợ tốt hơn. Tôi đã sử dụng osx-gcc-installerđể có được 4.2, tôi tin.
jrhorn424

2
Tôi đã phải chạy các nguồn dọn dẹp rvm sau đó --with-gcc = clang làm việc
Shane

22

TÓM TẮT CHO STACK QUÁ TUYỆT VỜI

Tôi đã cố gắng cài đặt SiriProxy trên bản cài đặt Lion sạch trên Xcode từ App Store

Tôi liên tục nhận được các lỗi như: CC được cung cấp (/ usr / bin / gcc) dựa trên LLVM.

bash-3.2$ rvm install 1.9.3
ERROR: The provided CC(/usr/bin/gcc) is LLVM based, it is not yet fully supported by ruby and gems, please read `rvm requirements`.


Sau 2 ngày cuối cùng nó cũng hoạt động với hai dòng này:

http://stackoverflow.com/questions/8000145/ruby-rvm-llvm-and-mysql

bash-3.2$ rvm get head
bash-3.2$ CC=/usr/bin/gcc-4.2 rvm install 1.9.3 --enable-shared

Trước đó tôi đã thử mọi bài viết stackoverflow về Ruby và Lion, vì vậy thực hiện những điều này có thể đã thực hiện một số thiết lập giúp 2 bước trên hoạt động:

Những điều tôi đã thử bao gồm:

Chạy Cài đặt Xcode.app (Tôi đã tải xuống từ App Store - chạy cài đặt này hơn nữa)

Cài đặt

https://github.com/kennethreitz/osx-gcc-installer/downloads may help for installing GCC.

Thiết lập CC trong

thêm / Người dùng//.bash_profile

bash-3.2$ more /Users/<USERNAME>/.bash_profile 
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function
export CC=/usr/share/TargetConfigs/bin/gcc

Dòng đầu tiên đến từ hướng dẫn cài đặt SiriProxy https://github.com/plamoni/SiriProxy

CC xuất khẩu dòng thứ 2 dường như không bao giờ hoạt động. Vì vậy, không thêm.

Nó có nhiều phiên bản, mỗi điểm cuối cùng tôi đã sử dụng CC = / usr / bin / gcc-4.2 rvm cài đặt 1.9.3 - có thể chia sẻ


Bạn đã thử rvm install 1.9.3 --with-gcc=clangchưa
Arkku

CC = / usr / bin / gcc-4.2 rvm cài đặt 1.9.3 - có thể chia sẻ, đã hoạt động trên Snow Leopard với Xcode 4.2, cảm ơn bạn!
Florin

Tôi khuyên bạn nên chống lại rvm get headnhững người dùng khác. Điều này kéo từ đầu của repo git và có thể không ổn định. rvm get latestlấy phiên bản ổn định mới nhất. Nếu điều này không khắc phục được vấn đề này cho bạn, rvm install 1.9.3 --with-gcc=clangthì đáng để thử trước tiên vì nó ít có khả năng giới thiệu các tác dụng phụ
Eric Hu

18
rvm install 1.9.3 --with-gcc=clang

Đã làm cho tôi. Đây là một Lion hoàn toàn mới với Xcode (không có GCC "truyền thống").


8

OK Tôi không phải cài đặt gcc-4.2 riêng biệt, tôi đã sử dụng một cái được phân phối trong XCode, nhưng tôi gặp vấn đề khi --with-gcc=clangkhông được thông qua. Đã thêm dòng sau vào .rvmrc:

export rvm_configure_flags="--with-gcc=clang"

Làm việc theo yêu cầu

rvm upgrade ruby-1.9.2-p290 ruby-1.9.3-p125
...
ruby-1.9.3-p125 - #extracted to /Users/leif/.rvm/src/ruby-1.9.3-p125 (already extracted)
ruby-1.9.3-p125 - #configuring
ruby-1.9.3-p125 - #compiling 
ruby-1.9.3-p125 - #installing
....
Successfully migrated ruby-1.9.2-p290 to ruby-1.9.3-p125
Upgrade complete!

bang:$ ruby -v
ruby 1.9.3p125 (2012-02-16 revision 34643) [x86_64-darwin11.3.0]

Lưu ý env của tôi là như sau

HĐH

Darwin bang.local 11.3.0 Darwin Kernel Version 11.3.0: Thu Jan 12 18:47:41 PST 2012; root:xnu-1699.24.23~1/RELEASE_X86_64 x86_64

Xode

XCode 4.2.1 Build 4D502

GCC

i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.1.00)

lrwxr-xr-x  1 root  wheel  12 22 Dec 21:30 /usr/bin/gcc -> llvm-gcc-4.2

Tôi đã thử sử dụng câu trả lời của việc chuyển --with-gcc=clangdòng lệnh sang lệnh nâng cấp rvm, nhưng nó không hoạt động, nó dường như không nhận được pass từ rvm để cấu hình. Rõ ràng vấn đề trong RVM của các đối số không được thông qua để định cấu hình đã được khắc phục (trong cam kết 1641ceb0năm 2011), nhưng ngay cả sau khi nâng cấp RVM lên mới nhất (thông qua rvm get latest), nó vẫn không được thông qua. Sử dụng .rvmrctập tin là cách duy nhất nó sẽ làm việc cho tôi.



4

Chỉ trả lời ở đây vì tôi không thể bình chọn / nhận xét về nhận xét của leandro cho câu hỏi ban đầu. Sau nhiều ngày cố gắng để làm việc này, giải pháp của anh ấy là giải pháp cuối cùng giúp tôi làm việc:

edit3 didn'work for me (Xcode 4.2.1), nhưng sau khi cài đặt readline

 rvm pkg install readline 

và truyền một tham số phụ

rvm install 1.9.3 --with-gcc=clang --with-readline-dir=$rvm_path/usr 

Nó đã cài đặt thành công.



4

Tôi sẽ đề xuất brew từ rvm requirementstôi đã cài đặt nó trong khi tôi đã cài đặt Xcode Phiên bản 4.4 mới nhất (4F250)

Homebrew:

Nếu bạn đang sử dụng Homebrew, bạn có thể cài đặt apple-gcc42 và các thư viện cần thiết từ homebrew / dupes:

  brew update
  brew tap homebrew/dupes
  brew install autoconf automake apple-gcc42
  rvm pkg install openssl

Điều này có thể sống cạnh nhau với bản cài đặt Xcode 4.2+ hoặc Công cụ dòng lệnh cho Xcode hiện có.

Và bạn luôn có thể làm

$ brew cleanup [specific-formula or without-formula to clean all]

và sau đó nếu cần thiết

$ brew remove apple-gcc42

hoặc bất kỳ chương trình được cài đặt nào khác thông qua brew (xem tài liệu để giải thích về 2 lệnh đó), bạn cũng có thể

/join #machomebrew

trên freenode (không phải #homebrew Tôi nghĩ đó là bia homebrew thực sự và có liên quan)


1

Chỉ cần nói cấu hình để sử dụng gcc thay vì gcc-4.2 trên Lion (Mac OSX 10.7.2)

Biên dịch ruby-1.9.3 từ nguồn

Bạn có thể thấy trong đầu ra cấu hình của bạn:

configure:3385: gcc-4.2 --version >&5
./configure: line 3387: gcc-4.2: command not found

Nếu bạn tìm kiếm, config.logbạn thấy:

CC='gcc-4.2'

Tôi đã có cùng một vấn đề, vì vậy tôi chạy configuretrong khi chọn gccthay vì gcc-4.2:

> CC=gcc ./configure --prefix=/usr/local 
> make
> make install
> ruby --version
ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-darwin11.2.0]

(Tôi không chắc configure: WARNING: unrecognized options: --with-libyaml-dirđầu ra của bạn là gì. Tôi đoán bạn đã tìm ra cái đó?)


1
Lưu ý rằng OP được liên gcckết với nhau gcc-4.2, làm cho lệnh có sẵn nhưng đã tiết lộ vấn đề tiềm ẩn rằng chúng gccthực sự llvm-gcc(và không có GCC không phải LLVM đã được cài đặt).
Arkku

1

Tải xuống và sử dụng JewelryBox GUI RVM chính thức cho Mac OS. Trong "Thêm Ruby", chọn phiên bản Ruby của bạn. Trước khi cài đặt, hãy đảm bảo bạn chọn "Sử dụng Clang" giống như những gì Chỉnh sửa 3 của câu trả lời được chấp nhận trong chuỗi này gợi ý.


1

Có cùng một vấn đề, vì tôi đang sử dụng xcode 4.3.2 và Lion 10.7.3, và tôi đã thay đổi máy tính xách tay của mình vài ngày trước và sau đó chuyển tất cả nội dung từ máy tính xách tay cũ. Rõ ràng, một số nhị phân không được chuyển qua, chẳng hạn như gcc.

ANd sau đó tôi đã làm như sau:

  1. Xóa Xcode 4.3.2 bằng cách kéo nó vào thùng rác
  2. Tải xuống gói cài đặt gcc v2 từ https://github.com/kennethreitz/osx-gcc-installer/doads
  3. Cài đặt nó
  4. Sau đó rvm cài đặt 1.9.2 làm việc cho tôi

1

Hãy chắc chắn rằng bạn đang ở trên rvm mới nhất. Sử dụng rvm 1.10.0 không có cách nào ở trên làm việc cho tôi. Hơn nữa, rvm get latestnói sai với tôi "Bạn đã có phiên bản mới nhất!" vì vậy tôi đã phải rvm implodecài đặt lại rvm (1.15.4), nó tự động đưa cho tôi ruby ​​1.9.3-p194 mà không phiền phức.


1

Đối với tôi, không có cái nào ở trên hoạt động như hiện trạng. Điều cuối cùng đã làm việc là

rvm get head
rm -rf  /usr/local/lib/libsqlite3*
CC=/usr/bin/gcc-4.2 rvm install 1.9.3 --enable-shared

Thủ thuật đặc biệt là loại bỏ libsqllite, theo nhật ký xây dựng, đã thiếu kiến ​​trúc 64 bit cần thiết hoặc một cái gì đó.


1

Một giải pháp đơn giản gần đây hơn là chỉ sử dụng railsinstaller.org . Nó có osx-gcc được đóng gói bên trong nó, vì vậy nó dễ dàng như tải xuống và cài đặt. Sau khi can thiệp với một cái vỏ mới gần đây, tôi đã hạ cánh xuống môi trường đường ray của mình. Sau khi thử nhiều giải pháp trên (mà trước đây tôi có thể thêm vào), tôi đã tiếp tục làm theo các bước dưới đây để mọi thứ hoạt động trở lại:

  • nuke môi trường cục bộ của bạn, (nghĩ rvm implode và gỡ cài đặt Xcode)
  • tải pkg từ railsinstaller.org
  • nhấp đúp chuột và cài đặt

Trình cài đặt mất một chút thời gian để xem xét nó cài đặt git, rvm, homebrew và một loạt các tính năng khác.


1

Với brew bạn có thể cài đặt ruby ​​trong một lớp lót:

brew install ruby193

Đã giải quyết vấn đề cho tôi trên OS X 10.8.4. (Nếu bạn muốn 2.0, chỉ cần chạy brew install rubythay thế)

Tổng quát hơn, brew search rubyhiển thị cho bạn các repos khác nhau có sẵn và nếu bạn muốn thực sự cụ thể, bạn có thể sử dụng brew versions rubyvà kiểm tra một phiên bản cụ thể thay thế.

Bạn có thể cần xcode và các công cụ dòng lệnh, nhưng thiết lập của brew sẽ kiểm tra tất cả những thứ đó cho bạn.


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.