2011-09-14 3 views
2

Xcode 4.1이 설치된 OS X Lion을 방금 설치했습니다. 나는 Ruby 1.9.2와 보석 버전 1.5.0을 사용하고있다. Rails 3.0.9에서 3.1로 업그레이드 할 때 다음과 같은 오류가 발생합니다.Rails 3.1로 업데이트하지 못했습니다.

$ ruby -v 
ruby 1.9.2p0 (2010-08-18 revision 29036) [i386-darwin9.8.0] 
$ rails -v 
Rails 3.0.9 
$ gem -v 
1.5.0 
$ gem update rails 
Updating installed gems 
Updating rails 
Building native extensions. This could take a while... 
ERROR: Error installing rails: 
    ERROR: Failed to build gem native extension. 

     /Users/me/.rvm/rubies/ruby-1.9.2-p0/bin/ruby extconf.rb 
creating Makefile 

make 
gcc -I. -I/Users/me/.rvm/rubies/ruby-1.9.2-p0/include/ruby-1.9.1/i386-darwin9.8.0 -I/Users/me/.rvm/rubies/ruby-1.9.2-p0/include/ruby-1.9.1/ruby/backward -I/Users/me/.rvm/rubies/ruby-1.9.2-p0/include/ruby-1.9.1 -I. -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 bcrypt_ext.o -c bcrypt_ext.c 
In file included from /Users/me/.rvm/rubies/ruby-1.9.2-p0/include/ruby-1.9.1/ruby.h:32, 
       from bcrypt_ext.c:1: 
/Users/me/.rvm/rubies/ruby-1.9.2-p0/include/ruby-1.9.1/ruby/ruby.h:108: error: size of array ‘ruby_check_sizeof_long’ is negative 
/Users/me/.rvm/rubies/ruby-1.9.2-p0/include/ruby-1.9.1/ruby/ruby.h:112: error: size of array ‘ruby_check_sizeof_voidp’ is negative 
In file included from /Users/me/.rvm/rubies/ruby-1.9.2-p0/include/ruby-1.9.1/ruby/intern.h:29, 
       from /Users/me/.rvm/rubies/ruby-1.9.2-p0/include/ruby-1.9.1/ruby/ruby.h:1327, 
       from /Users/me/.rvm/rubies/ruby-1.9.2-p0/include/ruby-1.9.1/ruby.h:32, 
       from bcrypt_ext.c:1: 
/Users/me/.rvm/rubies/ruby-1.9.2-p0/include/ruby-1.9.1/ruby/st.h:69: error: size of array ‘st_check_for_sizeof_st_index_t’ is negative 
bcrypt_ext.c: In function ‘bc_salt’: 
bcrypt_ext.c:42: warning: implicit conversion shortens 64-bit value into a 32-bit value 
make: *** [bcrypt_ext.o] Error 1 


Gem files will remain installed in /Users/me/.rvm/gems/ruby-1.9.2-p0/gems/bcrypt-ruby-3.0.1 for inspection. 
Results logged to /Users/me/.rvm/gems/ruby-1.9.2-p0/gems/bcrypt-ruby-3.0.1/ext/mri/gem_make.out 
Nothing to update 

여기에 무슨 일이 일어나는 지 아는 사람이 있습니까?

감사합니다. 대신 "업데이트"를 수행하는

답변

1

, 단지 않는다 "보석은 레일을 설치 -v 3.1"

UPDATE : 은 분명히 3.1.0은 (activemodel 실제로) bcrypt 루비에 따라 레일. 이 종속성은 3.1.1에서 제거해야합니다 (https://github.com/rails/rails/issues/2687 참조).

기다리고 싶지 않으면 bcrypt-ruby 빌드를 해결해야합니다. 컴파일러 오류는 루비와 컴파일러 사이에 32 비트/64 비트 불일치가 있음을 나타냅니다. Leopard 위에 Lion을 설치 했습니까? 그렇다면 모든 루비 루비와 기본 확장 보석을 다시 만들어야 할 수도 있습니다.

기다리고 싶어도이 유형의 컴파일러 문제가 다시 발생할 가능성이 있으므로 다시 작성해야합니다. 테스트를 위해 "gem install eventmachine"과 같은 네이티브 보석을 설치하십시오. 동일한 오류가 발생하면 모든 기본 보석에이 문제점이 있음을 나타내는 좋은 지표입니다. http://jtigger-learning.wikidot.com/gem-install-fails-on-building-native-extensions

+0

영업 이익은 그가 같은 오류가 발생했습니다 말한다 :

는 유사한 문제 문제의 설명과 함께, 스노우 레오파드로 업그레이드를 한 사람은이 페이지를 참조하십시오. –

+0

@robert OP에서 "gem install"에 대한 언급이 전혀 없습니다. 나는 단지 "gem update"를 본다. – Kelvin

+0

그는 내가 삭제 한 비 답을 게시했습니다. 그것이 말한 모두는 "시도하고,이 오류가있어 ..."그리고 그는 본질적으로 당신이 질문에서 위에 본 것과 같은 텍스트를 복사했습니다. 나는 당신이 그것을 볼 수 있도록 대답을 취소 할 것입니다. –

관련 문제