번들을 사용하여 gemfiles를 관리하고 있으므로 RVM을 rbenv로 교체하려고합니다. rbenv는 내 Ruby 버전 관리에서 훨씬 가볍기 때문에 RVM을 제거하고 rbenv를 설치했습니다.RVM을 rbenv로 교체 --mkmf 오류
gem install bundler
을 사용하여 bundler 보석을 설치했습니다. 모든 곳에서 필요하기 때문입니다. 그럼 프로젝트를 열고 rbenv 사용하여 필요한 버전의 루비를 설치 :
rbenv install 1.9.3-p194
rbenv local 1.9.3-p194
rbenv rehash
나는 확실히 그것을 루비의 오른쪽 버전을 사용했다 할 ruby -v
을 입력을하고 있었다, 그래서 나는 번들을 실행 시도하고 할 때까지 실행 실패 후 RedCloth과를 설치하려고하고 :
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
/usr/bin/ruby1.9.1 extconf.rb --with-cflags=-w
/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- mkmf (LoadError)
from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from extconf.rb:1:in `<main>'
그것은 내가 번들 전에 RedCoth를 설치할 것을 제안, 그래서 RedCloth 설치 :
gem install RedCloth
어 성공했다. 나는 그 다음, 그냥 여전히 바로 확인하고, ruby -v
를 실행 bundle update
를 실행 시도하고 같은 오류가 발생했습니다 :
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
/usr/bin/ruby1.9.1 extconf.rb --with-cflags=-w
/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- mkmf (LoadError)
from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from extconf.rb:1:in `<main>'
Gem files will remain installed in /home/ruberto/.bundler/tmp/7551/gems/RedCloth-4.2.9 for inspection.
Results logged to /home/ruberto/.bundler/tmp/7551/gems/RedCloth-4.2.9/ext/redcloth_scan/gem_make.out
An error occurred while installing RedCloth (4.2.9), and Bundler cannot continue.
Make sure that `gem install RedCloth -v '4.2.9'` succeeds before bundling.
그때 루비의 다른 버전을 설치하려고했지만 하나가 더 성공이 없었다.
아이디어가 있습니까?
나는 이후에 다른 프로젝트에서 같은 일을 시도하고 모두 잘 작동하는 것. 1.8.7을 사용하는 버전이 있으며 rbenv를 올바른 버전으로 설정 한 다음 번들을 실행하는 것만 큼 쉽습니다. 거의 모든 Ruby 버전 조합을 시도했지만 아직 작동하지 않습니다.
보석을 삭제하고 다시 설치하는 대신'gem pristine --all'을 사용했을 수 있습니다. 보통 Ruby 버전을 업데이트 할 때 컴파일 문제로 인한 문제를 수정합니다. 그러나 rbenv가 작동하는 방식은 설치된 Ruby 버전마다 별도의 보석 설치가 있어야하며, Ruby를 설치 한 후'bundle install '으로 수정해야합니다. –