ไม่สามารถติดตั้ง Ruby ภายใต้ Lion ที่มีปัญหา RVM - GCC


268

คำถามส่วนใหญ่เกี่ยวกับปัญหานี้เกิดจาก Xcode หายไป; ฉันติดตั้ง Xcode 4.2 แล้ว

ติดตั้งความพยายาม:

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:

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

ตาม config.log (โพสต์ที่ด้านล่างเนื่องจากขนาด) ฉันพยายาม symlinking gcc-4.2 ถึง gcc แล้วทำการติดตั้ง:

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 .

ดังนั้นฉันอาจจะเพิ่งคว้า gcc ที่อื่น แต่ฉันก็เป็นห่วงว่าทำไมสิ่งนี้ถึงเกิดขึ้น ไม่ควรทำการติดตั้ง Xcode ให้เพียงพอ

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

คุณลองตั้งค่าแล้วCC=/usr/bin/gccหรือยัง
mu สั้นเกินไป

มีอะไรน่าสนใจในconfig.logไฟล์บ้าง?
mu สั้นเกินไป

อืม; ฉันมี gcc เดียวกันและติดตั้งได้ดี :( สิ่งที่สองใน SO ที่ทำงานได้ดีสำหรับฉัน แต่ไม่ใช่สำหรับคนอื่นโดยปกติแล้วมันตรงกันข้าม
Dave Newton

mu: ฉันได้เพิ่ม config.log ทั้งหมดแล้วตอนนี้ ไม่มีอะไรผิดปกติในสายตาของฉัน นี่คือรุ่นที่ไม่มี symlink เดฟ: นั่นคือคอมพิวเตอร์ :-)
Jamie Schembri

ต้องขอขอบคุณความช่วยเหลือจาก @mpapis ฉันได้เอกสารวิธีการติดตั้ง RVM บน Mac OS X 10.8 (Mountain Lion) กับ Xcode 4.5 โดยไม่ต้องติดตั้งเครื่องมือบรรทัดคำสั่ง
ma11hew28

คำตอบ:


553

คำตอบนี้ถูกแก้ไขหลายครั้งและขณะนี้มีโซลูชันทางเลือกหลายทาง ลองใช้โซลูชัน“ แก้ไข 3” อย่างง่ายก่อน

Ruby 1.9.3-p125 และใหม่กว่าได้รับการสนับสนุนอย่างเป็นทางการสำหรับเสียงดังกราวดังนั้นหากคุณกำลังติดตั้งเวอร์ชันดังกล่าวคุณไม่จำเป็นต้องใช้ GCC หากคุณกำลังติดตั้ง Ruby เวอร์ชันเก่าอ่านต่อ

ในการรวบรวม Ruby กับ GCC คุณต้องมี GCC ที่ไม่ใช่ LLVM ซึ่งไม่รวมอยู่ใน XCode 4.2 อีกต่อไป ติดตั้งด้วยตัวคุณเอง (หรือดาวน์เกรดเป็น XCode 4.1 ชั่วคราว) จากนั้นทำCC=/usr/local/bin/gcc-4.2 rvm install 1.9.3 --enable-shared(ทดแทนเส้นทางไปยังที่ไม่ใช่ LLVM gcc ของคุณ)

แก้ไข: https://github.com/kennethreitz/osx-gcc-installer/downloadsอาจช่วยในการติดตั้ง GCC rvm requirementsนอกจากนี้ยังมีข้อมูลบางอย่างที่มีอยู่โดยการทำงาน

แก้ไข 2: เพื่อวิธีแก้ปัญหาที่ง่ายขึ้นคุณสามารถลองเพิ่ม--with-gcc=clangอาร์กิวเมนต์เพื่อconfigureให้ Ruby ใช้ clang แทน GCC

แก้ไข 3 : rvm install 1.9.3 --with-gcc=clangทำเพื่อคุณ

หมายเหตุ: ด้วย XCode เวอร์ชันปัจจุบันคุณต้องติดตั้งเครื่องมือบรรทัดคำสั่งแยกต่างหากจากเมนู XCode -> Preferences -> Downloads -> Components นี่เป็นสิ่งที่จำเป็นต้องมีสำหรับการทำคอมไพล์ด้วย XCode บนบรรทัดคำสั่งไม่ใช่แค่ Ruby

หมายเหตุ 2: หากบางอย่างไม่ทำงานหลังจากทำตามขั้นตอนให้ลองรีบูตหรือเข้าสู่ระบบอีกครั้งเพื่อให้แน่ใจว่าสภาพแวดล้อมได้รับการตั้งค่าอย่างถูกต้อง

หมายเหตุ 3: ทับทิมเวอร์ชันก่อนหน้า 1.9.3-p125 อาจไม่เข้ากันได้กับ clang ทั้งหมดดังนั้นให้ทดสอบซอฟต์แวร์ของคุณอย่างละเอียดถี่ถ้วนหากใช้โซลูชัน“ แก้ไข 3” ในสภาพแวดล้อมการใช้งานจริง


3
GCC-10.7.pkg ไม่ได้ทำเพื่อฉัน - ฉันคิดว่ามันใช้งานได้เพียง 10.7.0 (ฉันใช้ 10.7.2) แต่บางที v2 pkg ทำงานได้ อย่างไรก็ตาม - ด้วย gcc = เสียงดังกราวทำเพื่อฉัน! ขอบคุณ!
Jamie Schembri

2
ขอบคุณแก้ไข 3 แก้ไขให้ฉันด้วย
echo

1
edit3 ไม่ทำงานสำหรับฉัน (Xcode 4.2.1) แต่หลังจากติดตั้ง readline rvm pkg install readlineและผ่านพารามิเตอร์พิเศษrvm install 1.9.3 --with-gcc=clang --with-readline-dir=$rvm_path/usrมันติดตั้งสำเร็จ
โดร

7
ตามที่ระบุไว้ในคำตอบนี้มีทางเลือกอื่น rvm install 1.9.3 --with-gcc=clangใช้งานได้สำหรับฉัน แต่ไม่รองรับอย่างเต็มที่ นอกจากนี้คุณยังสามารถใช้CC=/usr/bin/gcc-4.2 rvm install 1.9.3 --enable-sharedซึ่งดูเหมือนว่าได้รับการสนับสนุนที่ดีขึ้น ฉันเคยosx-gcc-installerได้รับ 4.2 ฉันเชื่อว่า
jrhorn424

2
ฉันต้องเรียกใช้แหล่งข้อมูลการล้าง rvm แล้ว --with-gcc = เสียงดังกราวทำงาน
Shane

22

บทสรุปสำหรับภาพรวมซ้อนทับ

ฉันพยายามติดตั้ง SiriProxy ในการติดตั้ง Lion ที่สะอาดบน Xcode จาก App Store

ฉันได้รับข้อผิดพลาดอย่างต่อเนื่องเช่น: CC (/ usr / bin / gcc) ที่ให้มานั้นใช้ 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`.


หลังจาก 2 วันในที่สุดก็ทำให้มันทำงานกับสองบรรทัดนี้:

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

ก่อนหน้านั้นฉันได้ลองทุกบทความ stackoverflow ใน Ruby และ Lion ดังนั้นการทำสิ่งเหล่านี้อาจทำการตั้งค่าบางอย่างที่ช่วยให้ขั้นตอน 2 ขั้นตอนข้างต้นทำงานได้:

สิ่งที่ฉันพยายามรวม:

เรียกใช้ Install Xcode.app (ฉันดาวน์โหลดจาก App Store - การใช้งานจะเป็นการติดตั้งที่ไม่ดีกว่านี้)

การติดตั้ง

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

ตั้งค่า CC ใน

เพิ่มเติม / ผู้ใช้ //.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

บรรทัดแรกมาจากคำแนะนำในการติดตั้ง SiriProxy https://github.com/plamoni/SiriProxy

CC การส่งออกบรรทัดที่ 2 ดูเหมือนจะไม่ทำงาน ดังนั้นอย่าเพิ่ม

มันมีหลายเวอร์ชันแต่ละตัวชี้ไปในที่สุดฉันก็ใช้ CC = / usr / bin / gcc-4.2 rvm ติดตั้ง 1.9.3 - เปิดใช้งานร่วมกันได้


คุณลองrvm install 1.9.3 --with-gcc=clangไหม
Arkku

CC = / usr / bin / gcc-4.2 rvm ติดตั้ง 1.9.3 - เปิดใช้งานร่วมกันทำงานบน Snow Leopard พร้อม Xcode 4.2 ขอขอบคุณ!
Florin

ฉันจะแนะนำrvm get headสำหรับผู้ใช้รายอื่น สิ่งนี้ดึงออกมาจากหัวของ repo คอมไพล์และอาจไม่เสถียร rvm get latestคว้ารุ่นที่เสถียรล่าสุด หากยังไม่สามารถแก้ไขปัญหานี้ให้กับคุณrvm install 1.9.3 --with-gcc=clangได้คุ้มค่าที่จะถ่ายก่อนเพราะมีโอกาสน้อยที่จะแนะนำผลข้างเคียง
Eric Hu

18
rvm install 1.9.3 --with-gcc=clang

ทำงานให้ฉัน นี่คือ Lion ตัวใหม่ล่าสุดที่มี Xcode (ไม่มี GCC "ดั้งเดิม")


8

ตกลงฉันไม่ต้องติดตั้ง gcc-4.2 แยกกันฉันใช้อันที่ส่งมาใน XCode แต่ฉันมีปัญหาที่--with-gcc=clangไม่ได้รับการส่งผ่าน เพิ่มบรรทัดต่อไปนี้ในของฉัน.rvmrc:

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

ทำงานได้ตามต้องการ

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]

หมายเหตุ env ของฉันมีดังต่อไปนี้

ระบบปฏิบัติการ

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

XCode

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

ฉันพยายามใช้คำตอบของการส่งผ่าน --with-gcc=clangบรรทัดคำสั่งไปยังคำสั่งการอัพเกรด rvm แต่มันใช้งานไม่ได้ดูเหมือนว่าจะไม่ได้รับการส่งผ่านจาก rvm เพื่อกำหนดค่า เห็นได้ชัดว่าปัญหาใน RVM ของการขัดแย้งที่ไม่ได้ผ่านการกำหนดค่าได้รับการแก้ไข (ในการกระทำ1641ceb0ในปี 2011) แต่แม้หลังจากอัปเกรด RVM เป็นล่าสุด (ผ่านrvm get latest) ก็ยังไม่ได้รับการส่งผ่าน การใช้.rvmrcไฟล์เป็นวิธีเดียวที่จะได้ผลสำหรับฉัน



4

ตอบเฉพาะที่นี่เพราะฉันไม่สามารถโหวต / แสดงความคิดเห็นต่อความคิดเห็นของ leandro กับคำถามเดิมได้ หลังจากใช้เวลาหลายวันพยายามทำให้สิ่งนี้เป็นจริงวิธีแก้ปัญหาของเขาคือสิ่งที่ทำให้ฉันได้ผลในที่สุด :

edit3 ไม่ทำงานสำหรับฉัน (Xcode 4.2.1) แต่หลังจากติดตั้ง readline

 rvm pkg install readline 

และผ่านพารามิเตอร์พิเศษ

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

ติดตั้งสำเร็จแล้ว



4

ฉันจะแนะนำชงจากrvm requirementsฉันได้ติดตั้งมันในขณะที่ฉันได้ติดตั้ง Xcode รุ่นล่าสุด 4.4 (4F250)

Homebrew:

หากคุณใช้ Homebrew คุณสามารถติดตั้ง apple-gcc42 และไลบรารีที่ต้องการจาก homebrew / dupes:

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

สิ่งนี้สามารถถ่ายทอดสดแบบเคียงข้างกันด้วย Xcode 4.2+ ที่มีอยู่ติดตั้งหรือเครื่องมือบรรทัดคำสั่งสำหรับ Xcode

และคุณสามารถทำได้

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

แล้วถ้าจำเป็น

$ brew remove apple-gcc42

หรือโปรแกรมที่ติดตั้งอื่น ๆ ผ่านทาง Brew (ดูเอกสารสำหรับคำอธิบายเกี่ยวกับ 2 คำสั่งเหล่านั้น) เช่นกัน

/join #machomebrew

บน freenode (ไม่ใช่ #homebrew ฉันคิดว่านั่นเป็นเบียร์ homebrew จริงและเกี่ยวข้อง)


1

เพียงแค่กำหนดค่าให้ใช้ gcc แทน gcc-4.2บน Lion (Mac OSX 10.7.2)

รวบรวมทับทิม-1.9.3 จากแหล่งที่มา

คุณสามารถเห็นในการกำหนดค่าผลลัพธ์ของคุณ:

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

หากคุณค้นหาสิ่งที่config.logคุณเห็น:

CC='gcc-4.2'

ฉันมีปัญหาเดียวกันดังนั้นฉันจึงเรียกใช้configureขณะที่เลือกgccแทน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]

(ฉันไม่แน่ใจว่าสิ่งที่อยู่configure: WARNING: unrecognized options: --with-libyaml-dirในผลลัพธ์ของคุณฉันเดาว่าคุณคิดออกมา?)


1
โปรดทราบว่าสหกรณ์ symlinked gccไปgcc-4.2ซึ่งทำให้คำสั่งมี แต่เปิดเผยปัญหาพื้นฐานที่พวกเขาgccเป็นจริงllvm-gcc(และไม่มีไม่ใช่ LLVM GCC ได้รับการติดตั้ง)
Arkku

1

ดาวน์โหลดและใช้JewelryBox The RVM GUI อย่างเป็นทางการสำหรับ Mac OS ภายใน "Add Ruby" เลือกรุ่นของ Ruby ก่อนการติดตั้งให้แน่ใจว่าคุณเลือก "ใช้เสียงดังกราว" เช่นเดียวกับสิ่งที่แก้ไข 3ของคำตอบที่ได้รับการยอมรับในหัวข้อนี้แนะนำ


1

มีปัญหาเดียวกันเนื่องจากฉันใช้ xcode 4.3.2 และ Lion 10.7.3 และฉันเปลี่ยนแล็ปท็อปของฉันเมื่อสองสามวันก่อนแล้วจึงถ่ายโอนเนื้อหาทั้งหมดจากแล็ปท็อปเก่า เห็นได้ชัดว่าไบนารีบางตัวไม่ได้รับการถ่ายโอนเช่น gcc

แล้วฉันก็ทำตาม:

  1. ลบ Xcode 4.3.2 โดยลากไปที่ถังขยะ
  2. ดาวน์โหลดแพ็คเกจการติดตั้ง gcc v2 จากhttps://github.com/kennethreitz/osx-gcc-installer/downloads
  3. ติดตั้ง
  4. จากนั้นติดตั้ง rvm 1.9.2 ใช้งานได้สำหรับฉัน

1

ตรวจสอบให้แน่ใจว่าคุณอยู่ใน rvm ล่าสุด ใช้ rvm 1.10.0 ข้างต้นไม่ได้ผลสำหรับฉัน นอกจากนี้ยังrvm get latestบอกฉันด้วยความผิดพลาดว่า "คุณมีเวอร์ชั่นล่าสุดแล้ว!" ดังนั้นฉันต้องrvm implodeติดตั้ง rvm ใหม่ (1.15.4) ซึ่งทำให้ฉันทับทิม 1.9.3-p194 โดยอัตโนมัติโดยไม่ต้องยุ่งยาก


1

สำหรับฉันไม่มีการทำงานใด ๆ ที่เป็นไปได้ สิ่งที่ได้ผลในที่สุดก็คือ

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

เคล็ดลับพิเศษคือการลบ libsqllite ที่ตามบันทึกการสร้างหายไป 64- บิตสถาปัตยกรรมที่ต้องการหรืออะไรบางอย่าง


1

วิธีการแก้ปัญหาที่ง่ายมากขึ้นล่าสุดคือการใช้เพียงrailsinstaller.org มันบรรจุอยู่ภายใน osx-gcc ดังนั้นมันจึงง่ายเหมือนการดาวน์โหลดและติดตั้ง หลังจากเข้าไปยุ่งเกี่ยวกับกระสุนใหม่เมื่อไม่นานมานี้ฉันได้สร้างสภาพแวดล้อมทางรถไฟที่ยุ่งเหยิง หลังจากลองใช้วิธีแก้ไขปัญหาด้านบนหลายข้อ (ซึ่งก่อนหน้านี้ฉันอาจเพิ่ม) ฉันได้ทำตามขั้นตอนด้านล่างเพื่อให้สิ่งต่าง ๆ ทำงานได้อีกครั้ง:

  • nuke สภาพแวดล้อมในพื้นที่ของคุณ (คิดว่า rvm implode และถอนการติดตั้ง Xcode)
  • ดาวน์โหลด pkg จากrailsinstaller.org
  • ดับเบิลคลิกและติดตั้ง

โปรแกรมติดตั้งใช้เวลาพอสมควรเมื่อพิจารณาว่าจะติดตั้ง git, rvm, homebrew และอื่น ๆ อีกมากมาย


1

ด้วย Brew คุณสามารถติดตั้งทับทิมในหนึ่งซับ:

brew install ruby193

ทำงานนอกกรอบสำหรับฉันใน OS X 10.8.4 (หากคุณต้องการ 2.0 ให้เรียกใช้brew install rubyแทน)

โดยทั่วไปแล้วbrew search rubyจะแสดงให้คุณเห็น repos ต่างๆที่มีอยู่และถ้าคุณต้องการที่จะได้รับที่เฉพาะเจาะจงจริงๆคุณสามารถใช้brew versions rubyและชำระเงินรุ่นที่เฉพาะเจาะจงแทน

คุณอาจต้องใช้ xcode และเครื่องมือบรรทัดคำสั่ง แต่การตั้งค่าการชงจะตรวจสอบทุกอย่างที่คุณต้องการ


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.