簡體   English   中英

在Mac OS X Snow Leopard上使用RVM安裝Ruby 1.9.2的問題

[英]Problem installing Ruby 1.9.2 using RVM on Mac OS X Snow Leopard

我剛剛開始學習Ruby,並試圖在Macbook Air上使用RVM安裝最新版本並且它一直在失敗。 我必須做錯事,因為在網上進行了大量搜索之后,我沒有看到有人在Ruby安裝過程中抱怨這個確切的錯誤。

采取的步驟:

Dima$ rvm install ruby-1.9.2-p290
Installing Ruby from source to: /Users/Dima/.rvm/rubies/ruby-1.9.2-p290, this may take a while depending on your cpu(s)...

ruby-1.9.2-p290 - #fetching 
ruby-1.9.2-p290 - #extracted to /Users/Dima/.rvm/src/ruby-1.9.2-p290 (already extracted)
Fetching yaml-0.1.4.tar.gz to /Users/Dima/.rvm/archives
Extracting yaml-0.1.4.tar.gz to /Users/Dima/.rvm/src
Configuring yaml in /Users/Dima/.rvm/src/yaml-0.1.4.
Compiling yaml in /Users/Dima/.rvm/src/yaml-0.1.4.
Installing yaml to /Users/Dima/.rvm/usr
ruby-1.9.2-p290 - #configuring 
ruby-1.9.2-p290 - #compiling 
ERROR: Error running 'make ', please read /Users/Dima/.rvm/log/ruby-1.9.2-p290/make.log
ERROR: There has been an error while running make. Halting the installation.

在此之后,如同建議的錯誤消息,我去查看make.log文件:

compiling fiddle
/usr/bin/gcc-4.2 -I. -I../../.ext/include/x86_64-darwin10.7.0 -I../.././include -I../.././ext/fiddle -DRUBY_EXTCONF_H=\"extconf.h\" -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  -fno-common -pipe  -o closure.o -c closure.c
In file included from closure.c:1:
./fiddle.h:18:17: error: ffi.h: No such file or directory
In file included from ./fiddle.h:71,
                 from closure.c:1:
./conversions.h:24: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
closure.c:7: error: expected specifier-qualifier-list before ‘ffi_closure’
closure.c: In function ‘dealloc’:
closure.c:22: error: ‘fiddle_closure’ has no member named ‘pcl’
closure.c:26: error: ‘fiddle_closure’ has no member named ‘cif’
closure.c:27: error: ‘fiddle_closure’ has no member named ‘argv’
closure.c:27: error: ‘fiddle_closure’ has no member named ‘argv’
closure.c: In function ‘closure_memsize’:
closure.c:40: error: ‘fiddle_closure’ has no member named ‘cif’
closure.c:42: error: ‘fiddle_closure’ has no member named ‘argv’
closure.c:43: error: ‘ffi_closure’ undeclared (first use in this function)
closure.c:43: error: (Each undeclared identifier is reported only once
closure.c:43: error: for each function it appears in.)
closure.c: At top level:
closure.c:54: error: expected ‘)’ before ‘*’ token
closure.c: In function ‘allocate’:
closure.c:146: error: ‘fiddle_closure’ has no member named ‘pcl’
closure.c:146: error: ‘ffi_closure’ undeclared (first use in this function)
closure.c:151: error: ‘fiddle_closure’ has no member named ‘cif’
closure.c:151: error: ‘ffi_cif’ undeclared (first use in this function)
closure.c: In function ‘initialize’:
closure.c:163: error: ‘ffi_cif’ undeclared (first use in this function)
closure.c:163: error: ‘cif’ undeclared (first use in this function)
closure.c:164: error: ‘ffi_closure’ undeclared (first use in this function)
closure.c:164: error: ‘pcl’ undeclared (first use in this function)
closure.c:165: error: ‘ffi_status’ undeclared (first use in this function)
closure.c:165: error: expected ‘;’ before ‘result’
closure.c:169: error: ‘FFI_DEFAULT_ABI’ undeclared (first use in this function)
closure.c:177: error: ‘fiddle_closure’ has no member named ‘argv’
closure.c:177: error: ‘ffi_type’ undeclared (first use in this function)
closure.c:177: error: expected expression before ‘)’ token
closure.c:181: error: ‘fiddle_closure’ has no member named ‘argv’
closure.c:183: error: ‘fiddle_closure’ has no member named ‘argv’
closure.c:188: error: ‘fiddle_closure’ has no member named ‘cif’
closure.c:189: error: ‘fiddle_closure’ has no member named ‘pcl’
closure.c:191: error: ‘result’ undeclared (first use in this function)
closure.c:193: error: ‘fiddle_closure’ has no member named ‘argv’
closure.c:195: error: ‘FFI_OK’ undeclared (first use in this function)
closure.c:199: error: ‘callback’ undeclared (first use in this function)
make[1]: *** [closure.o] Error 1
make: *** [mkmain.sh] Error 1

我不確定如何解讀這個,我最初的本能就是說我沒有安裝FFI,但我從來沒有在Ruby的任何安裝步驟中看到這個要求。 這是我的電腦特有的東西嗎?

任何有經驗的人的幫助將不勝感激。 對於帖子中任何缺失的部分提前道歉,因為我不完全確定如何解決這個問題。 請告訴我哪些其他信息有助於解決問題,我會將其添加到帖子中。

謝謝

Thoughtbot提供了一個很好的指南,可以在新的OSX安裝上獲得rails設置。 絕對檢查它,因為它可能會幫助你:

http://robots.thoughtbot.com/post/8700977975/2011-rubyists-guide-to-a-mac-os-x-development

當我開始在我的macbook pro上進行一些rails編程時,在使用rvm安裝ruby時遇到了一些錯誤。 不記得我得到的錯誤,但我必須安裝xcode然后我可以用rvm安裝ruby。

經過幾個小時的挫折后,我最終在我的Macbook Air上加載了Mac OS X Lion和Xcode 4,然后再次嘗試運行rvm install ruby-1.9.2-p290並且它沒有問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM