バンドルを使用してgemfileを管理しているため、RVMをrbenvに置き換えることを検討していました。rbenvは、Rubyバージョンの管理がはるかに軽いと思うので、RVMをアンインストールしてrbenvをインストールしました。を使用してバンドラーgemをインストールしました
gem install bundler
どこでも必要だからです。次に、プロジェクトを開き、rbenvを使用して必要なバージョンのRubyをインストールしました。
rbenv install 1.9.3-p194
rbenv local 1.9.3-p194
rbenv rehash
正しいバージョンのRubyを使用していることを確認するために入力ruby -v
しました。そのため、bundleを実行してみましたが、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.
次に、別のバージョンのRubyをインストールしようとしましたが、そこでも成功しませんでした。
誰かアイデアがありますか?
その後、他のプロジェクトでも同じことを試してみましたが、すべてうまくいくようです。1.8.7を使用するものがあり、rbenvを適切なバージョンに設定してから、バンドルを実行するのと同じくらい簡単でした。Rubyバージョンのほぼすべての組み合わせを試しましたが、機能しません。