私はRuby 1.9.1を使ってUbuntu Natty Narwhal 11.04にRailsをインストールしようとしていました。
Devパッケージを含むapt-get install Ruby1.9.1-full
を使ってRubyをインストールしました。私はエラーをグーグルし、私がすでに持っている1.9.1-devをインストールすることをすべて提案しました。
Building native extensions. This could take a while...
ERROR: Error installing Rails:
ERROR: Failed to build gem native extension.
/usr/bin/Ruby1.8 extconf.rb
extconf.rb:36:in `require': no such file to load -- mkmf (LoadError)
from extconf.rb:36
Gem files will remain installed in /usr/lib/Ruby/gems/1.8/gems/bcrypt-Ruby-3.0.1 for inspection.
Results logged to /usr/lib/Ruby/gems/1.8/gems/bcrypt-Ruby-3.0.1/ext/mri/gem_make.out
解決策を探した後、-dev
だけでなくRuby1.8
パッケージが必要であることがわかりました。 Ruby1.9.1
をやっているのであれば
Sudo apt-get install Ruby1.9.1-dev
または一般的なRubyバージョンをインストールするには、(@lamplightdevコメントに従って)を使用します。
Sudo apt-get install Ruby-dev
それを修正する必要があります。
ファイルが実際にそこにあるかどうかを確認するためにlocate mkmf
を試してください。
これは私のために働いた答えです。上記のコメントにありましたが、ubuntu 12.04 Ruby 1.8.7のための答えとしてその正当な場所に値する
Sudo apt-get install Ruby-dev
# if above doesnt work make sure you have build essential
Sudo apt-get install build-essential
私はまたbuild-essentialをインストールする必要がありました:
Sudo apt-get install build-essential
問題はまだUbuntu 13/04/13.10/14.04で再帰的です
そして
Sudo apt-get install Ruby1.9.1-dev
私のためにうまくいきました。あなたがUbuntu 13.04/13.10/14.04を使っているのであれば、これを使うと本当に役に立ちます。
Rubyのバージョンが1.9.3であってもこれは動作します。これは、リポジトリにRuby 1.9.3-devが存在しないためです。
やってみました:
Sudo apt-get install Ruby1.8-dev
バンドルをインストールするとき、私は同様のエラーを得ました
Sudo apt-get install Ruby-dev
私のために素晴らしい仕事と問題を解決するMint 16 Ruby1.9.3
少し遅れていると思いますが
Sudo yum install -y gcc Ruby-devel libxml2 libxml2-devel libxslt libxslt-devel
fedoraで私のために働きました。
あなたはRuby 1.8を持っているので、あなたはそれを動かすために少なくとも1.9にアップグレードする必要があります。
もしそうなら、 Ruby gemの特定のバージョンをインストールするにはどうすればいいですか?
これでも解決しない場合は、Ruby-dev
を再インストールしてください。
RVM(Rubyバージョンマネージャ)を使うことができます。これはあなたのマシン上のすべてのバージョンのRubyを管理するのに役立ちます。これは開発に非常に役立ちます(不安定版から安定版へ移行する場合)。
またはLinux(ubuntu)の場合はSudo apt-get install Ruby1.8-dev
を参照してください。
それからSudo gem install Rails
がそれを行うことを確認するためにRails -v
それはRails上のバージョンを表示するでしょう
その後バンドルをインストールすることができます(開発に必要なgem)