gem install
에 사용할 컴파일러를 어떻게 지정할 수 있습니까? 배쉬에서"gem install"에 대한 컴파일러를 지정하는 방법은 무엇입니까?
CC=gcc gem install ...
아직도 내 시스템에서 solaris studio를 사용하기 때문에 도움이되지 않습니다.
gem install
에 사용할 컴파일러를 어떻게 지정할 수 있습니까? 배쉬에서"gem install"에 대한 컴파일러를 지정하는 방법은 무엇입니까?
CC=gcc gem install ...
아직도 내 시스템에서 solaris studio를 사용하기 때문에 도움이되지 않습니다.
sqlite3-ruby의 경우 2011 년 1 월 커밋 이후 지원됩니다. 그러나 일반적으로 에서 루비 젬이 어떻게 작동 하는지를 무시할 수는 없습니다. 그것
보석을 풉니 다.
&은 'extensions'속성 (일반적으로 특별히 작성된 extconf.rb 파일 경로)을 사용한다는 사실을 알게되었습니다.
Makefile을 생성하기 위해 해당 파일을 실행합니다. extconf.rb를 명시 적으로 작성하지 않은 한 은 env 변수를 존중한다고 말하면 무시됩니다. 당신이 변수로 Makefile을 생성합니다
CC=gcc gem install sqlite3-ruby
extconf.rb 배쉬에서 실행하는 경우 예를 들어, sqlite3를-루비 보석의 최신 버전에서, 그 extconf.rb는
RbConfig::MAKEFILE_CONFIG['CC'] = ENV['CC'] if ENV['CC']
그래서 라인을 가지고 CC
이 , gcc
또는 원하는대로 설정하십시오.
Makefile이 생성 된 후 rubygems는 make
유틸리티를 실행하여 확장자를 컴파일합니다. 젬 우리가 메이크업에 대한 추가 명령 줄을 매개 변수를 지정할 수있는 경우
이론적으로, 우리는 -e
옵션을 사용할 수있는 다음의 모든 extconf.rb의 저자에 의존하지 않습니다. (-e
옵션은 메이크에서 변수를 통해 환경의 우선 순위에서 가져온 변수를 제공합니다.)
RVM을 사용하여 OS X에, 나는 GCC 컴파일러의 영구적 인 변화를 달성하기 위해 다음과 같은 파일을 변경합니다
~/.rvm/rubies/ruby-1.X.Y/lib/ruby/1.X/i686-darwin10.8.0/rbconfig.rb
을 나는 더 이상이 GCC-4.2 내 상자 만은/usr/빈/GCC의 컴파일이 없다
CONFIG["configure_args"] = " ...' 'CC=/usr/bin/gcc-4.2'"
CONFIG["CC"] = "/usr/bin/gcc-4.2"
CONFIG["CPP"] = "/usr/bin/gcc-4.2 -E"
:이 파일에서
나는 다음과 같은 발견했다. gcc로 gcc-4.2를 교체하면 오래된 보석을 설치하는 데 문제가 없습니다. 이것은 내가 업그레이드 할 수없는 오래된 환경에서 일하고 싶다.
언급하는 것을 잊어 버렸습니다. sqlite3-ruby -v1.2.5 gem입니다. – Alex